- Notifications
You must be signed in to change notification settings - Fork 849
/
Copy pathOML4Py Regression GLM.dsnb
executable file
·1 lines (1 loc) · 174 KB
/
OML4Py Regression GLM.dsnb
1
[{"layout":null,"template":null,"templateConfig":null,"name":"OML4Py Regression GLM","description":null,"readOnly":false,"type":"medium","paragraphs":[{"col":0,"visualizationConfig":null,"hideInIFrame":false,"selectedVisualization":null,"title":null,"message":[],"enabled":true,"result":null,"sizeX":0,"hideCode":true,"width":0,"hideResult":true,"dynamicFormParams":null,"row":0,"hasTitle":false,"hideVizConfig":true,"hideGutter":true,"relations":[],"forms":null},{"col":0,"visualizationConfig":null,"hideInIFrame":false,"selectedVisualization":"html","title":null,"message":["%md","## Regression Modeling to Predict Numerical Values using Generalized Linear Model","","This notebook shows how to predict numerical values using multiple regression. Given demographic, purchase, and affinity card data for a set of customers, predict the number of years a customer remains at the same residence, as found in column YRS_RESIDENCE - a continuous variable. We will use the Generalized Linear Model algorithm. All processing occurs inside Oracle Autonomous Database.","","Copyright (c) 2024 Oracle Corporation ","###### <a href=\"https://oss.oracle.com/licenses/upl/\" onclick=\"return ! window.open('https://oss.oracle.com/licenses/upl/');\">The Universal Permissive License (UPL), Version 1.0<\/a>","---"],"enabled":true,"result":{"startTime":1704380959872,"interpreter":"md.low","endTime":1704380959962,"results":[{"message":"<h2 id=\"regression-modeling-to-predict-numerical-values-using-generalized-linear-model\">Regression Modeling to Predict Numerical Values using Generalized Linear Model<\/h2>\n<p>This notebook shows how to predict numerical values using multiple regression. Given demographic, purchase, and affinity card data for a set of customers, predict the number of years a customer remains at the same residence, as found in column YRS_RESIDENCE - a continuous variable. We will use the Generalized Linear Model algorithm. All processing occurs inside Oracle Autonomous Database.<\/p>\n<p>Copyright (c) 2024 Oracle Corporation<\/p>\n<h6 id=\"the-universal-permissive-license-upl-version-10\"><a href=\"https://oss.oracle.com/licenses/upl/\" onclick=\"return ! window.open('https://oss.oracle.com/licenses/upl/');\">The Universal Permissive License (UPL), Version 1.0<\/a><\/h6>\n<hr />\n","type":"HTML"}],"taskStatus":"SUCCESS","forms":"[]","status":"SUCCESS"},"sizeX":0,"hideCode":true,"width":9,"hideResult":false,"dynamicFormParams":null,"row":0,"hasTitle":false,"hideVizConfig":true,"hideGutter":true,"relations":[],"forms":"[]"},{"col":0,"visualizationConfig":null,"hideInIFrame":false,"selectedVisualization":"html","title":null,"message":["%md ","<dl>","<img src=\"https://www.oracle.com/technetwork/database/options/advanced-analytics/regression-5663170.jpg\" alt=\"OML Notebooks\" width=\"250\"/>","<\/dl>"],"enabled":true,"result":{"startTime":1704380960098,"interpreter":"md.low","endTime":1704380960187,"results":[{"message":"<dl>\n<img src=\"https://www.oracle.com/technetwork/database/options/advanced-analytics/regression-5663170.jpg\" alt=\"OML Notebooks\" width=\"250\"/>\n<\/dl>\n","type":"HTML"}],"taskStatus":"SUCCESS","forms":"[]","status":"SUCCESS"},"sizeX":0,"hideCode":true,"width":3,"hideResult":false,"dynamicFormParams":null,"row":0,"hasTitle":false,"hideVizConfig":true,"hideGutter":true,"relations":[],"forms":"[]"},{"col":0,"visualizationConfig":null,"hideInIFrame":false,"selectedVisualization":"html","title":"For more information...","message":["%md","","* <a href=\"https://docs.oracle.com/en/cloud/paas/autonomous-data-warehouse-cloud/index.html\" target=\"_blank\">Oracle ADB Documentation<\/a>","* <a href=\"https://github.com/oracle-samples/oracle-db-examples/tree/main/machine-learning\" target=\"_blank\">OML folder on Oracle GitHub<\/a>","* <a href=\"https://www.oracle.com/machine-learning\" target=\"_blank\">OML Web Page<\/a>","* <a href=\"https://www.oracle.com/goto/ml-regression\" target=\"_blank\">OML Regression<\/a>","* <a href=\"https://oracle.com/goto/ml-generalized-linear-model\" target=\"_blank\">OML Generalized Linear Model (GLM)<\/a>"],"enabled":true,"result":{"startTime":1704380960339,"interpreter":"md.low","endTime":1704380960439,"results":[{"message":"<ul>\n<li><a href=\"https://docs.oracle.com/en/cloud/paas/autonomous-data-warehouse-cloud/index.html\" target=\"_blank\">Oracle ADB Documentation<\/a><\/li>\n<li><a href=\"https://github.com/oracle-samples/oracle-db-examples/tree/main/machine-learning\" target=\"_blank\">OML folder on Oracle GitHub<\/a><\/li>\n<li><a href=\"https://www.oracle.com/machine-learning\" target=\"_blank\">OML Web Page<\/a><\/li>\n<li><a href=\"https://www.oracle.com/goto/ml-regression\" target=\"_blank\">OML Regression<\/a><\/li>\n<li><a href=\"https://oracle.com/goto/ml-generalized-linear-model\" target=\"_blank\">OML Generalized Linear Model (GLM)<\/a><\/li>\n<\/ul>\n","type":"HTML"}],"taskStatus":"SUCCESS","forms":"[]","status":"SUCCESS"},"sizeX":0,"hideCode":true,"width":12,"hideResult":false,"dynamicFormParams":null,"row":0,"hasTitle":true,"hideVizConfig":true,"hideGutter":true,"relations":[],"forms":"[]"},{"col":0,"visualizationConfig":null,"hideInIFrame":false,"selectedVisualization":"html","title":"Import libraries and set display options","message":["%python","","import pandas as pd","import oml","","pd.set_option('display.max_rows', 500)","pd.set_option('display.max_columns', 500)","pd.set_option('display.width', 1000)"],"enabled":true,"result":{"startTime":1704380960578,"interpreter":"python.low","endTime":1704380960687,"results":[],"taskStatus":"SUCCESS","forms":"[]","status":"SUCCESS"},"sizeX":0,"hideCode":false,"width":4,"hideResult":false,"dynamicFormParams":null,"row":0,"hasTitle":true,"hideVizConfig":false,"hideGutter":true,"relations":[],"forms":"[]"},{"col":0,"visualizationConfig":null,"hideInIFrame":false,"selectedVisualization":"html","title":"Prepare the dataset combining customer data with supplemental demographics","message":["%python","","CUSTOMERS = oml.sync(query = 'SELECT CUST_ID, CUST_GENDER, CUST_MARITAL_STATUS, CUST_YEAR_OF_BIRTH, CUST_INCOME_LEVEL, CUST_CREDIT_LIMIT FROM SH.CUSTOMERS')","DEMO_DF = oml.sync(query = \"\"\"SELECT CUST_ID, EDUCATION, AFFINITY_CARD, HOUSEHOLD_SIZE, OCCUPATION, YRS_RESIDENCE, Y_BOX_GAMES"," FROM SH.SUPPLEMENTARY_DEMOGRAPHICS\"\"\")","CUST_DF = CUSTOMERS.merge(DEMO_DF, how = \"inner\", on = 'CUST_ID',suffixes = [\"\",\"\"])"],"enabled":true,"result":{"startTime":1704380960807,"interpreter":"python.low","endTime":1704380960913,"results":[],"taskStatus":"SUCCESS","forms":"[]","status":"SUCCESS"},"sizeX":0,"hideCode":false,"width":8,"hideResult":false,"dynamicFormParams":null,"row":0,"hasTitle":true,"hideVizConfig":false,"hideGutter":true,"relations":[],"forms":"[]"},{"col":0,"visualizationConfig":null,"hideInIFrame":false,"selectedVisualization":"table","title":"Display a few rows from CUST_DF","message":["%python","","z.show(CUST_DF.head())"],"enabled":true,"result":{"startTime":1704380961040,"interpreter":"python.low","endTime":1704380961190,"results":[{"message":"CUST_ID\tCUST_GENDER\tCUST_MARITAL_STATUS\tCUST_YEAR_OF_BIRTH\tCUST_INCOME_LEVEL\tCUST_CREDIT_LIMIT\tEDUCATION\tAFFINITY_CARD\tHOUSEHOLD_SIZE\tOCCUPATION\tYRS_RESIDENCE\tY_BOX_GAMES\n100134\tF\tDivorc.\t1965\tL: 300,000 and above\t9000\tAssoc-A\t0\t2\tCleric.\t2\t0\n102828\tF\tNeverM\t1967\tE: 90,000 - 109,999\t10000\tHS-grad\t0\t1\tMachine\t4\t0\n101232\tM\tNeverM\t1979\tJ: 190,000 - 249,999\t9000\t< Bach.\t0\t1\tOther\t2\t1\n100696\tM\tMarried\t1971\tF: 110,000 - 129,999\t7000\tProfsc\t1\t3\tProf.\t3\t0\n103948\tM\tNeverM\t1966\tJ: 190,000 - 249,999\t9000\t< Bach.\t0\t1\tCleric.\t4\t0\n","type":"TABLE"}],"taskStatus":"SUCCESS","forms":"[]","status":"SUCCESS"},"sizeX":0,"hideCode":false,"width":12,"hideResult":false,"dynamicFormParams":null,"row":0,"hasTitle":true,"hideVizConfig":false,"hideGutter":true,"relations":[],"forms":"[]"},{"col":0,"visualizationConfig":null,"hideInIFrame":false,"selectedVisualization":"html","title":"Split data into randomly selected 60% sample for train and 40% test","message":["%python","","TRAIN, TEST = CUST_DF.split(ratio = (0.6,0.4))","TRAIN_X = TRAIN.drop('YRS_RESIDENCE')","TRAIN_Y = TRAIN['YRS_RESIDENCE']","TEST_X = TEST.drop('YRS_RESIDENCE')","TEST_Y = TEST['YRS_RESIDENCE']"],"enabled":true,"result":{"startTime":1704380961322,"interpreter":"python.low","endTime":1704380961497,"results":[],"taskStatus":"SUCCESS","forms":"[]","status":"SUCCESS"},"sizeX":0,"hideCode":false,"width":12,"hideResult":false,"dynamicFormParams":null,"row":0,"hasTitle":true,"hideVizConfig":false,"hideGutter":true,"relations":[],"forms":"[]"},{"col":0,"visualizationConfig":null,"hideInIFrame":false,"selectedVisualization":"html","title":null,"message":["%md","","### Build a GLM regression model for predicting YRS_RESIDENCE","","---"],"enabled":true,"result":{"startTime":1704380961611,"interpreter":"md.low","endTime":1704380961700,"results":[{"message":"<h3 id=\"build-a-glm-regression-model-for-predicting-yrs_residence\">Build a GLM regression model for predicting YRS_RESIDENCE<\/h3>\n<hr />\n","type":"HTML"}],"taskStatus":"SUCCESS","forms":"[]","status":"SUCCESS"},"sizeX":0,"hideCode":true,"width":12,"hideResult":false,"dynamicFormParams":null,"row":0,"hasTitle":false,"hideVizConfig":true,"hideGutter":true,"relations":[],"forms":"[]"},{"col":0,"visualizationConfig":"[{\"raw\":{\"height\":300,\"lastColumns\":[],\"version\":1}}]","hideInIFrame":false,"selectedVisualization":"raw","title":" Using the default options","message":["%python","","settings = {}","","try:"," oml.drop(model = 'GLM_REGRESSION_MODEL')","except:"," print('No such model')"," ","glm_mod = oml.glm(\"regression\", **settings)","glm_mod.fit(TRAIN_X, TRAIN_Y, model_name = 'GLM_REGRESSION_MODEL', case_id = 'CUST_ID')"],"enabled":true,"result":{"startTime":1704380961817,"interpreter":"python.low","endTime":1704380963842,"results":[{"message":"\nModel Name: GLM_REGRESSION_MODEL\n\nModel Owner: OMLUSER\n\nAlgorithm Name: Generalized Linear Model\n\nMining Function: REGRESSION\n\nTarget: YRS_RESIDENCE\n\nSettings: \n setting name setting value\n0 ALGO_NAME ALGO_GENERALIZED_LINEAR_MODEL\n1 GLMS_CONF_LEVEL .95\n2 GLMS_FTR_GENERATION GLMS_FTR_GENERATION_DISABLE\n3 GLMS_FTR_SELECTION GLMS_FTR_SELECTION_DISABLE\n4 ODMS_DETAILS ODMS_ENABLE\n5 ODMS_MISSING_VALUE_TREATMENT ODMS_MISSING_VALUE_AUTO\n6 ODMS_SAMPLING ODMS_SAMPLING_DISABLE\n7 PREP_AUTO ON\n\nComputed Settings: \n setting name setting value\n0 GLMS_CONV_TOLERANCE .0000050000000000000004\n1 GLMS_NUM_ITERATIONS 30\n2 GLMS_RIDGE_REGRESSION GLMS_RIDGE_REG_DISABLE\n3 GLMS_SOLVER GLMS_SOLVER_CHOL\n\nGlobal Statistics: \n attribute name attribute value\n0 ADJUSTED_R_SQUARE 0.577297\n1 AIC 1133.61\n2 COEFF_VAR 30.4233\n3 CONVERGED YES\n4 CORRECTED_TOTAL_DF 2708\n5 CORRECTED_TOT_SS 9534.73\n6 DEPENDENT_MEAN 4.00997\n7 ERROR_DF 2652\n8 ERROR_MEAN_SQUARE 1.48832\n9 ERROR_SUM_SQUARES 3947.01\n10 F_VALUE 67.0427\n11 GMSEP 1.52032\n12 HOCKING_SP 0.000561417\n13 J_P 1.51963\n14 MODEL_DF 56\n15 MODEL_F_P_VALUE 0\n16 MODEL_MEAN_SQUARE 99.7807\n17 MODEL_SUM_SQUARES 5587.72\n18 NUM_PARAMS 57\n19 NUM_ROWS 2709\n20 RANK_DEFICIENCY 0\n21 ROOT_MEAN_SQ 1.21997\n22 R_SQ 0.586038\n23 SBIC 1470.16\n24 VALID_COVARIANCE_MATRIX YES\n\nAttributes: \nAFFINITY_CARD\nCUST_CREDIT_LIMIT\nCUST_GENDER\nCUST_INCOME_LEVEL\nCUST_MARITAL_STATUS\nCUST_YEAR_OF_BIRTH\nEDUCATION\nHOUSEHOLD_SIZE\nOCCUPATION\nY_BOX_GAMES\n\nPartition: NO\n\nCoefficients: \n\n attribute name attribute value coefficient std error t value p value significance code\n0 (Intercept) None 153.324901 5.433089 28.220575 0.000000e+00 ***\n1 AFFINITY_CARD None 0.340645 0.068606 4.965264 7.295958e-07 ***\n2 CUST_CREDIT_LIMIT None 0.000016 0.000008 2.034881 4.196216e-02 *\n3 CUST_GENDER F -0.113475 0.071621 -1.584376 1.132274e-01 \n4 CUST_INCOME_LEVEL A: Below 30,000 0.640696 0.198163 3.233176 1.239233e-03 **\n5 CUST_INCOME_LEVEL B: 30,000 - 49,999 0.144060 0.131455 1.095885 2.732286e-01 \n6 CUST_INCOME_LEVEL C: 50,000 - 69,999 0.217899 0.142770 1.526218 1.270749e-01 \n7 CUST_INCOME_LEVEL D: 70,000 - 89,999 -0.011105 0.153972 -0.072125 9.425082e-01 \n8 CUST_INCOME_LEVEL E: 90,000 - 109,999 0.205234 0.113004 1.816173 6.945669e-02 .\n9 CUST_INCOME_LEVEL F: 110,000 - 129,999 -0.081483 0.106074 -0.768174 4.424523e-01 \n10 CUST_INCOME_LEVEL G: 130,000 - 149,999 0.164336 0.103530 1.587333 1.125565e-01 \n11 CUST_INCOME_LEVEL H: 150,000 - 169,999 0.289081 0.102576 2.818204 4.865106e-03 **\n12 CUST_INCOME_LEVEL I: 170,000 - 189,999 -0.066614 0.094168 -0.707398 4.793812e-01 \n13 CUST_INCOME_LEVEL K: 250,000 - 299,999 0.012108 0.093756 0.129141 8.972561e-01 \n14 CUST_INCOME_LEVEL L: 300,000 and above -0.003457 0.080803 -0.042782 9.658787e-01 \n15 CUST_MARITAL_STATUS Divorc. 0.255132 0.324671 0.785816 4.320453e-01 \n16 CUST_MARITAL_STATUS Mabsent -0.231022 0.368937 -0.626183 5.312489e-01 \n17 CUST_MARITAL_STATUS Mar-AF -0.975312 0.720500 -1.353660 1.759602e-01 \n18 CUST_MARITAL_STATUS NeverM -0.012757 0.314184 -0.040604 9.676143e-01 \n19 CUST_MARITAL_STATUS Separ. -0.040635 0.344544 -0.117939 9.061248e-01 \n20 CUST_MARITAL_STATUS Widowed -0.945589 0.351749 -2.688250 7.227677e-03 **\n21 CUST_YEAR_OF_BIRTH None -0.075924 0.002775 -27.358344 0.000000e+00 ***\n22 EDUCATION 10th -0.055915 0.154137 -0.362762 7.168118e-01 \n23 EDUCATION 11th -0.281752 0.141721 -1.988072 4.690639e-02 *\n24 EDUCATION 12th -0.191792 0.204292 -0.938815 3.479110e-01 \n25 EDUCATION 1st-4th 0.187000 0.416084 0.449428 6.531600e-01 \n26 EDUCATION 5th-6th 0.312164 0.246440 1.266694 2.053761e-01 \n27 EDUCATION 7th-8th -0.528300 0.173677 -3.041848 2.374333e-03 **\n28 EDUCATION 9th -0.480972 0.176666 -2.722501 6.521376e-03 **\n29 EDUCATION < Bach. -0.205311 0.067205 -3.055003 2.272976e-03 **\n30 EDUCATION Assoc-A 0.213468 0.127929 1.668638 9.530715e-02 .\n31 EDUCATION Assoc-V 0.039609 0.124333 0.318572 7.500761e-01 \n32 EDUCATION Bach. 0.099102 0.079059 1.253519 2.101272e-01 \n33 EDUCATION Masters 0.335463 0.135236 2.480566 1.317900e-02 *\n34 EDUCATION PhD 0.784167 0.263927 2.971147 2.993555e-03 **\n35 EDUCATION Presch. -1.130164 0.712683 -1.585789 1.129065e-01 \n36 EDUCATION Profsc 0.610080 0.176570 3.455173 5.585775e-04 ***\n37 HOUSEHOLD_SIZE 1 -0.438462 0.321774 -1.362637 1.731127e-01 \n38 HOUSEHOLD_SIZE 2 -0.115546 0.321970 -0.358872 7.197194e-01 \n39 HOUSEHOLD_SIZE 4-5 -0.696323 0.134620 -5.172492 2.482309e-07 ***\n40 HOUSEHOLD_SIZE 6-8 -0.351825 0.326693 -1.076929 2.816100e-01 \n41 HOUSEHOLD_SIZE 9+ -0.289468 0.332312 -0.871073 3.837929e-01 \n42 OCCUPATION ? -0.432258 0.127862 -3.380671 7.335587e-04 ***\n43 OCCUPATION Armed-F -0.524535 1.229877 -0.426494 6.697826e-01 \n44 OCCUPATION Cleric. 0.061129 0.096605 0.632768 5.269398e-01 \n45 OCCUPATION Crafts -0.043418 0.096684 -0.449077 6.534131e-01 \n46 OCCUPATION Exec. 0.302740 0.096055 3.151724 1.641210e-03 **\n47 OCCUPATION Farming 0.217480 0.162922 1.334878 1.820308e-01 \n48 OCCUPATION Handler -0.327132 0.149622 -2.186389 2.887428e-02 *\n49 OCCUPATION House-s -1.237814 0.331445 -3.734594 1.919768e-04 ***\n50 OCCUPATION Machine -0.056752 0.118432 -0.479196 6.318385e-01 \n51 OCCUPATION Other -0.257805 0.101369 -2.543220 1.103994e-02 *\n52 OCCUPATION Prof. -0.140482 0.105139 -1.336155 1.816134e-01 \n53 OCCUPATION Protec. 0.028069 0.181098 0.154996 8.768363e-01 \n54 OCCUPATION TechSup -0.338445 0.132818 -2.548177 1.088468e-02 *\n55 OCCUPATION Transp. 0.296478 0.136628 2.169960 3.009840e-02 *\n56 Y_BOX_GAMES None -0.463632 0.083046 -5.582842 2.606260e-08 ***\n\nSignif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 '\n\nFit Details: \n\n name value\n0 ADJUSTED_R_SQUARE 0.577297\n1 AIC 1133.612459\n2 COEFF_VAR 30.423332\n3 CORRECTED_TOTAL_DF 2708.000000\n4 CORRECTED_TOT_SS 9534.730897\n5 DEPENDENT_MEAN 4.009967\n6 ERROR_DF 2652.000000\n7 ERROR_MEAN_SQUARE 1.488316\n8 ERROR_SUM_SQUARES 3947.013467\n9 F_VALUE 67.042673\n10 GMSEP 1.520316\n11 HOCKING_SP 0.000561\n12 J_P 1.519631\n13 MODEL_CONVERGED 1.000000\n14 MODEL_DF 56.000000\n15 MODEL_F_P_VALUE 0.000000\n16 MODEL_MEAN_SQUARE 99.780668\n17 MODEL_SUM_SQUARES 5587.717430\n18 NUM_PARAMS 57.000000\n19 NUM_ROWS 2709.000000\n20 RANK_DEFICIENCY 0.000000\n21 ROOT_MEAN_SQ 1.219965\n22 R_SQ 0.586038\n23 SBIC 1470.159545\n24 VALID_COVARIANCE_MATRIX 1.000000\n\nRank: \n\n57\n\nDeviance: \n\n3947.013467\n\nAIC: \n\n1134\n\nNull Deviance: \n\n9534.730897\n\nDF Residual: \n\n2652.0\n\nDF Null: \n\n2708.0\n\nConverged: \n\nTrue\n\n\n","type":"TEXT"}],"taskStatus":"SUCCESS","forms":"[]","status":"SUCCESS"},"sizeX":0,"hideCode":false,"width":12,"hideResult":false,"dynamicFormParams":null,"row":0,"hasTitle":true,"hideVizConfig":false,"hideGutter":true,"relations":[],"forms":"[]"},{"col":0,"visualizationConfig":null,"hideInIFrame":false,"selectedVisualization":"html","title":null,"message":["%md","","### Examples of possible setting overrides for GLM ","","If the user does not override the default settings, then relevant settings are determined by the algorithm.","","A complete list of settings can be found in the Documentation link:","- Algorithm Settings: <a href=\"https://docs.oracle.com/pls/topic/lookup?ctx=en/database/oracle/oracle-database/23/arpls&id=ARPLS-GUID-4E3665B9-B1C2-4F6B-AB69-A7F353C70F5C\" onclick=\"return ! window.open('https://docs.oracle.com/pls/topic/lookup?ctx=en/database/oracle/oracle-database/23/arpls&id=ARPLS-GUID-4E3665B9-B1C2-4F6B-AB69-A7F353C70F5C');\">Generalized Linear Model<\/a>","","- Shared Settings: <a href=\"https://docs.oracle.com/en/database/oracle/oracle-database/23/arpls/DBMS_DATA_MINING.html#GUID-24047A09-0542-4870-91D8-329F28B0ED75\" onclick=\"return ! window.open('https://docs.oracle.com/en/database/oracle/oracle-database/23/arpls/DBMS_DATA_MINING.html#GUID-24047A09-0542-4870-91D8-329F28B0ED75');\">All algorithms<\/a>","","- Specify a row weight column ","> 'ODMS_ROW_WEIGHT_COLUMN_NAME' : '<row_weight_column_name>'","- Specify a missing value treatment method for the training data. This setting does not affect the scoring data. The default value is `ODMS_MISSING_VALUE_AUTO`. The option `ODMS_MISSING_VALUE_MEAN_MODE` replaces missing values with the mean (numeric attributes) or the mode (categorical attributes) both at build time and apply time where appropriate. The option `ODMS_MISSING_VALUE_AUTO` performs different strategies for different algorithms. When `ODMS_MISSING_VALUE_TREATMENT` is set to `ODMS_MISSING_VALUE_DELETE_ROW`, the rows in the training data that contain missing values are deleted. However, if you want to replicate this missing value treatment in the scoring data, then you must perform the transformation explicitly.","> 'ODMS_MISSING_VALUE_TREATMENT' : 'ODMS_MISSING_VALUE_AUTO'","- Specify The confidence level for coefficient confidence intervals. The value required is between 0 and 1 (excluding the edges), and the default confidence level is 0.95. ","> 'GLMS_CONF_LEVEL' : '0.95'","- Turn ridge regression on or off. Enable or disable ridge regression. Ridge applies to both regression and classification machine learning functions. When ridge is enabled, prediction bounds are not produced by the `PREDICTION_BOUNDS` SQL function. Ridge may only be enabled when feature selection is not specified, or has been explicitly disabled. If ridge regression and feature selection are both explicitly enabled, then an exception is raised. By default the system turns it on if there is a multicollinearity.","> 'GLMS_RIDGE_REGRESSION' : 'GLMS_RIDGE_REG_DISABLE'","- Specify The value of the ridge parameter. This setting is only used when the algorithm is configured to use ridge regression. If ridge regression is enabled internally by the algorithm, then the ridge parameter is determined by the algorithm. It requires a value greater than 0 (exclusive).","> 'GLMS_RIDGE_VALUE' : '2'","- Turn feature selection on or off. By default the system does not do feature selection. Also, feature generation requires feature selection to be enabled. Some options for feature selection are show below","> 'GLMS_FTR_SELECTION' : 'GLMS_FTR_SELECTION_ENABLE'","- Specify whether or not feature generation is enabled for GLM. By default, feature generation is not enabled. Feature generation can only be enabled when feature selection is also enabled. ","> 'GLMS_FTR_GENERATION' : 'GLMS_FTR_GENERATION_ENABLE'","- Specify whether feature generation is quadratic or cubic. When feature generation is enabled, the algorithm automatically chooses the most appropriate feature generation method based on the data. Options are `GLMS_FTR_GEN_QUADRATIC` or `GLMS_FTR_GEN_CUBIC`","> 'GLMS_FTR_GEN_METHOD' : 'GLMS_FTR_GEN_QUADRATIC'","- Specify feature selection penalty criterion for adding a feature to the model. When feature selection is enabled, the algorithm automatically chooses the penalty criterion based on the data. Options are `GLMS_FTR_SEL_AIC`, `GLMS_FTR_SEL_SBIC`,`GLMS_FTR_SEL_RIC`,`GLMS_FTR_SEL_ALPHA_INV`. ","> 'GLMS_FTR_SEL_CRIT' : 'GLMS_FTR_SEL_ALPHA_INV'","- Specify the maximum number of features that can be selected for the final model (when feature selection is enabled). By default, the algorithm limits the number of features to ensure sufficient memory. It requires a number between 0 (exclusive) and 2000 (inclusive).","> 'GLMS_MAX_FEATURES' : '30'","- Specify whether prune is enabled or disabled for features in the final model. Pruning is based on T-Test statistics for linear regression, or Wald Test statistics for logistic regression. Features are pruned in a loop until all features are statistically significant with respect to the full data. When feature selection is enabled, the algorithm automatically performs pruning based on the data.","> 'GLMS_PRUNE_MODEL' : 'GLMS_PRUNE_MODEL_ENABLE'","- Specify the target value used as the `reference class` in a binary logistic regression model. Probabilities are produced for the other class. By default, the algorithm chooses the value with the highest prevalence (the most cases) for the reference class.","> 'GLMS_REFERENCE_CLASS_NAME' : '<target_value>'","- Specify whether to enable or disable row diagnostics. The default is `GLMS_ROW_DIAG_DISABLE`","> 'GLMS_ROW_DIAGNOSTICS' : 'GLMS_ROW_DIAG_ENABLE'","- Specify the convergence tolerance setting of the GLM algorithm. The default value is system-determined, and the value required is between 0 and 1 (exclusive).","> 'GLMS_CONV_TOLERANCE' : '0.0001'","- Specify the maximum number of iterations for the GLM algorithm. The default value is system-determined, and it requires a positive integer.","> 'GLMS_NUM_ITERATIONS' : '200'","- Specify the number of rows in a batch used by the SGD solver. The value of this parameter sets the size of the batch for the SGD solver. An input of 0 triggers a data driven batch size estimate, and it requires a positive integer. The default is 2,000.","> 'GLMS_BATCH_ROWS' : '2000'","- Specify the GLM solver to use. The solver cannot be selected if `GLMS_FTR_SELECTION` setting is enabled. The default value is system determined, and the options are `GLMS_SOLVER_SGD` (Stochastic Gradient Descent), `GLMS_SOLVER_CHOL` (Cholesky), `GLMS_SOLVER_QR` (QR decomposition) and `GLMS_SOLVER_LBFGS_ADMM` (LBFGS and ADAM)","> 'GLMS_SOLVER' : 'GLMS_SOLVER_SGD'","- Specify whether to use sparse solver if it is available. The default value is GLMS_SPARSE_SOLVER_DISABLE. ","> 'GLMS_SPARSE_SOLVER' : 'GLMS_SPARSE_SOLVER_ENABLE'","","","<strong> For Oracle release 23ai and newer. <\/strong>","- Specify which GLM Link Function to use. This setting allows the user to specify the link function for building a GLM model. The link functions are specific to the mining function. "," For classification, the options are `GLMS_LOGIT_LINK (default)`, `GLMS_PROBIT_LINK`, `GLMS_CLOGLOG_LINK` or `GLMS_CAUCHIT_LINK`. For regression, the default is `GLMS_IDENTITY_LINK (default)`.","> 'GLMS_LINK_FUNCTION' : 'GLMS_LOGIT_LINK'"],"enabled":true,"result":{"startTime":1715317718368,"interpreter":"md.medium","endTime":1715317718560,"results":[{"message":"<h3 id=\"examples-of-possible-setting-overrides-for-glm\">Examples of possible setting overrides for GLM<\/h3>\n<p>If the user does not override the default settings, then relevant settings are determined by the algorithm.<\/p>\n<p>A complete list of settings can be found in the Documentation link:<\/p>\n<ul>\n<li>\n<p>Algorithm Settings: <a href=\"https://docs.oracle.com/pls/topic/lookup?ctx=en/database/oracle/oracle-database/23/arpls&id=ARPLS-GUID-4E3665B9-B1C2-4F6B-AB69-A7F353C70F5C\" onclick=\"return ! window.open('https://docs.oracle.com/pls/topic/lookup?ctx=en/database/oracle/oracle-database/23/arpls&id=ARPLS-GUID-4E3665B9-B1C2-4F6B-AB69-A7F353C70F5C');\">Generalized Linear Model<\/a><\/p>\n<\/li>\n<li>\n<p>Shared Settings: <a href=\"https://docs.oracle.com/en/database/oracle/oracle-database/23/arpls/DBMS_DATA_MINING.html#GUID-24047A09-0542-4870-91D8-329F28B0ED75\" onclick=\"return ! window.open('https://docs.oracle.com/en/database/oracle/oracle-database/23/arpls/DBMS_DATA_MINING.html#GUID-24047A09-0542-4870-91D8-329F28B0ED75');\">All algorithms<\/a><\/p>\n<\/li>\n<li>\n<p>Specify a row weight column<\/p>\n<\/li>\n<\/ul>\n<blockquote>\n<p>'ODMS_ROW_WEIGHT_COLUMN_NAME' : '<row_weight_column_name>'<\/p>\n<\/blockquote>\n<ul>\n<li>Specify a missing value treatment method for the training data. This setting does not affect the scoring data. The default value is <code>ODMS_MISSING_VALUE_AUTO<\/code>. The option <code>ODMS_MISSING_VALUE_MEAN_MODE<\/code> replaces missing values with the mean (numeric attributes) or the mode (categorical attributes) both at build time and apply time where appropriate. The option <code>ODMS_MISSING_VALUE_AUTO<\/code> performs different strategies for different algorithms. When <code>ODMS_MISSING_VALUE_TREATMENT<\/code> is set to <code>ODMS_MISSING_VALUE_DELETE_ROW<\/code>, the rows in the training data that contain missing values are deleted. However, if you want to replicate this missing value treatment in the scoring data, then you must perform the transformation explicitly.<\/li>\n<\/ul>\n<blockquote>\n<p>'ODMS_MISSING_VALUE_TREATMENT' : 'ODMS_MISSING_VALUE_AUTO'<\/p>\n<\/blockquote>\n<ul>\n<li>Specify The confidence level for coefficient confidence intervals. The value required is between 0 and 1 (excluding the edges), and the default confidence level is 0.95.<\/li>\n<\/ul>\n<blockquote>\n<p>'GLMS_CONF_LEVEL' : '0.95'<\/p>\n<\/blockquote>\n<ul>\n<li>Turn ridge regression on or off. Enable or disable ridge regression. Ridge applies to both regression and classification machine learning functions. When ridge is enabled, prediction bounds are not produced by the <code>PREDICTION_BOUNDS<\/code> SQL function. Ridge may only be enabled when feature selection is not specified, or has been explicitly disabled. If ridge regression and feature selection are both explicitly enabled, then an exception is raised. By default the system turns it on if there is a multicollinearity.<\/li>\n<\/ul>\n<blockquote>\n<p>'GLMS_RIDGE_REGRESSION' : 'GLMS_RIDGE_REG_DISABLE'<\/p>\n<\/blockquote>\n<ul>\n<li>Specify The value of the ridge parameter. This setting is only used when the algorithm is configured to use ridge regression. If ridge regression is enabled internally by the algorithm, then the ridge parameter is determined by the algorithm. It requires a value greater than 0 (exclusive).<\/li>\n<\/ul>\n<blockquote>\n<p>'GLMS_RIDGE_VALUE' : '2'<\/p>\n<\/blockquote>\n<ul>\n<li>Turn feature selection on or off. By default the system does not do feature selection. Also, feature generation requires feature selection to be enabled. Some options for feature selection are show below<\/li>\n<\/ul>\n<blockquote>\n<p>'GLMS_FTR_SELECTION' : 'GLMS_FTR_SELECTION_ENABLE'<\/p>\n<\/blockquote>\n<ul>\n<li>Specify whether or not feature generation is enabled for GLM. By default, feature generation is not enabled. Feature generation can only be enabled when feature selection is also enabled.<\/li>\n<\/ul>\n<blockquote>\n<p>'GLMS_FTR_GENERATION' : 'GLMS_FTR_GENERATION_ENABLE'<\/p>\n<\/blockquote>\n<ul>\n<li>Specify whether feature generation is quadratic or cubic. When feature generation is enabled, the algorithm automatically chooses the most appropriate feature generation method based on the data. Options are <code>GLMS_FTR_GEN_QUADRATIC<\/code> or <code>GLMS_FTR_GEN_CUBIC<\/code><\/li>\n<\/ul>\n<blockquote>\n<p>'GLMS_FTR_GEN_METHOD' : 'GLMS_FTR_GEN_QUADRATIC'<\/p>\n<\/blockquote>\n<ul>\n<li>Specify feature selection penalty criterion for adding a feature to the model. When feature selection is enabled, the algorithm automatically chooses the penalty criterion based on the data. Options are <code>GLMS_FTR_SEL_AIC<\/code>, <code>GLMS_FTR_SEL_SBIC<\/code>,<code>GLMS_FTR_SEL_RIC<\/code>,<code>GLMS_FTR_SEL_ALPHA_INV<\/code>.<\/li>\n<\/ul>\n<blockquote>\n<p>'GLMS_FTR_SEL_CRIT' : 'GLMS_FTR_SEL_ALPHA_INV'<\/p>\n<\/blockquote>\n<ul>\n<li>Specify the maximum number of features that can be selected for the final model (when feature selection is enabled). By default, the algorithm limits the number of features to ensure sufficient memory. It requires a number between 0 (exclusive) and 2000 (inclusive).<\/li>\n<\/ul>\n<blockquote>\n<p>'GLMS_MAX_FEATURES' : '30'<\/p>\n<\/blockquote>\n<ul>\n<li>Specify whether prune is enabled or disabled for features in the final model. Pruning is based on T-Test statistics for linear regression, or Wald Test statistics for logistic regression. Features are pruned in a loop until all features are statistically significant with respect to the full data. When feature selection is enabled, the algorithm automatically performs pruning based on the data.<\/li>\n<\/ul>\n<blockquote>\n<p>'GLMS_PRUNE_MODEL' : 'GLMS_PRUNE_MODEL_ENABLE'<\/p>\n<\/blockquote>\n<ul>\n<li>Specify the target value used as the <code>reference class<\/code> in a binary logistic regression model. Probabilities are produced for the other class. By default, the algorithm chooses the value with the highest prevalence (the most cases) for the reference class.<\/li>\n<\/ul>\n<blockquote>\n<p>'GLMS_REFERENCE_CLASS_NAME' : '<target_value>'<\/p>\n<\/blockquote>\n<ul>\n<li>Specify whether to enable or disable row diagnostics. The default is <code>GLMS_ROW_DIAG_DISABLE<\/code><\/li>\n<\/ul>\n<blockquote>\n<p>'GLMS_ROW_DIAGNOSTICS' : 'GLMS_ROW_DIAG_ENABLE'<\/p>\n<\/blockquote>\n<ul>\n<li>Specify the convergence tolerance setting of the GLM algorithm. The default value is system-determined, and the value required is between 0 and 1 (exclusive).<\/li>\n<\/ul>\n<blockquote>\n<p>'GLMS_CONV_TOLERANCE' : '0.0001'<\/p>\n<\/blockquote>\n<ul>\n<li>Specify the maximum number of iterations for the GLM algorithm. The default value is system-determined, and it requires a positive integer.<\/li>\n<\/ul>\n<blockquote>\n<p>'GLMS_NUM_ITERATIONS' : '200'<\/p>\n<\/blockquote>\n<ul>\n<li>Specify the number of rows in a batch used by the SGD solver. The value of this parameter sets the size of the batch for the SGD solver. An input of 0 triggers a data driven batch size estimate, and it requires a positive integer. The default is 2,000.<\/li>\n<\/ul>\n<blockquote>\n<p>'GLMS_BATCH_ROWS' : '2000'<\/p>\n<\/blockquote>\n<ul>\n<li>Specify the GLM solver to use. The solver cannot be selected if <code>GLMS_FTR_SELECTION<\/code> setting is enabled. The default value is system determined, and the options are <code>GLMS_SOLVER_SGD<\/code> (Stochastic Gradient Descent), <code>GLMS_SOLVER_CHOL<\/code> (Cholesky), <code>GLMS_SOLVER_QR<\/code> (QR decomposition) and <code>GLMS_SOLVER_LBFGS_ADMM<\/code> (LBFGS and ADAM)<\/li>\n<\/ul>\n<blockquote>\n<p>'GLMS_SOLVER' : 'GLMS_SOLVER_SGD'<\/p>\n<\/blockquote>\n<ul>\n<li>Specify whether to use sparse solver if it is available. The default value is GLMS_SPARSE_SOLVER_DISABLE.<\/li>\n<\/ul>\n<blockquote>\n<p>'GLMS_SPARSE_SOLVER' : 'GLMS_SPARSE_SOLVER_ENABLE'<\/p>\n<\/blockquote>\n<p><strong> For Oracle release 23ai and newer. <\/strong><\/p>\n<ul>\n<li>Specify which GLM Link Function to use. This setting allows the user to specify the link function for building a GLM model. The link functions are specific to the mining function.\nFor classification, the options are <code>GLMS_LOGIT_LINK (default)<\/code>, <code>GLMS_PROBIT_LINK<\/code>, <code>GLMS_CLOGLOG_LINK<\/code> or <code>GLMS_CAUCHIT_LINK<\/code>. For regression, the default is <code>GLMS_IDENTITY_LINK (default)<\/code>.<\/li>\n<\/ul>\n<blockquote>\n<p>'GLMS_LINK_FUNCTION' : 'GLMS_LOGIT_LINK'<\/p>\n<\/blockquote>\n","type":"HTML"}],"taskStatus":"SUCCESS","forms":"[]","status":"SUCCESS"},"sizeX":0,"hideCode":true,"width":12,"hideResult":false,"dynamicFormParams":null,"row":0,"hasTitle":false,"hideVizConfig":true,"hideGutter":true,"relations":[],"forms":"[]"},{"col":0,"visualizationConfig":"[{\"raw\":{\"height\":300,\"lastColumns\":[],\"version\":1}}]","hideInIFrame":false,"selectedVisualization":"raw","title":"Using options for Feature Selection and Generation","message":["%python","","settings = {'GLMS_RIDGE_REGRESSION':'GLMS_RIDGE_REG_DISABLE',"," 'GLMS_FTR_SELECTION':'GLMS_FTR_SELECTION_ENABLE',"," 'GLMS_FTR_GEN_METHOD':'GLMS_FTR_GEN_QUADRATIC',"," 'GLMS_FTR_GENERATION': 'GLMS_FTR_GENERATION_ENABLE', "," 'GLMS_FTR_SEL_CRIT':'GLMS_FTR_SEL_AIC',"," 'GLMS_NUM_ITERATIONS':'50',"," 'GLMS_MAX_FEATURES':'30',"," 'GLMS_PRUNE_MODEL':'GLMS_PRUNE_MODEL_ENABLE',"," 'GLMS_ROW_DIAGNOSTICS':'GLMS_ROW_DIAG_DISABLE',"," 'GLMS_CONV_TOLERANCE':'0.0001',"," 'GLMS_BATCH_ROWS':'2000'}","","try:"," oml.drop(model = 'GLM_REGRESSION_MODEL')","except:"," print('No such model')"," ","glm_mod = oml.glm(\"regression\", **settings)","glm_mod.fit(TRAIN_X, TRAIN_Y, model_name = 'GLM_REGRESSION_MODEL', case_id = 'CUST_ID')"],"enabled":true,"result":{"startTime":1704380964208,"interpreter":"python.low","endTime":1704380966242,"results":[{"message":"\nModel Name: GLM_REGRESSION_MODEL\n\nModel Owner: OMLUSER\n\nAlgorithm Name: Generalized Linear Model\n\nMining Function: REGRESSION\n\nTarget: YRS_RESIDENCE\n\nSettings: \n setting name setting value\n0 ALGO_NAME ALGO_GENERALIZED_LINEAR_MODEL\n1 GLMS_BATCH_ROWS 2000\n2 GLMS_CONF_LEVEL .95\n3 GLMS_CONV_TOLERANCE 0.0001\n4 GLMS_FTR_GENERATION GLMS_FTR_GENERATION_ENABLE\n5 GLMS_FTR_GEN_METHOD GLMS_FTR_GEN_QUADRATIC\n6 GLMS_FTR_SELECTION GLMS_FTR_SELECTION_ENABLE\n7 GLMS_FTR_SEL_CRIT GLMS_FTR_SEL_AIC\n8 GLMS_MAX_FEATURES 30\n9 GLMS_NUM_ITERATIONS 50\n10 GLMS_PRUNE_MODEL GLMS_PRUNE_MODEL_ENABLE\n11 GLMS_RIDGE_REGRESSION GLMS_RIDGE_REG_DISABLE\n12 GLMS_ROW_DIAGNOSTICS GLMS_ROW_DIAG_DISABLE\n13 GLMS_SELECT_BLOCK GLMS_SELECT_BLOCK_DISABLE\n14 ODMS_DETAILS ODMS_ENABLE\n15 ODMS_MISSING_VALUE_TREATMENT ODMS_MISSING_VALUE_AUTO\n16 ODMS_SAMPLING ODMS_SAMPLING_DISABLE\n17 PREP_AUTO ON\n\nGlobal Statistics: \n attribute name attribute value\n0 ADJUSTED_R_SQUARE 0.570989\n1 AIC 1141.24\n2 COEFF_VAR 30.6495\n3 CONVERGED YES\n4 CORRECTED_TOTAL_DF 2708\n5 CORRECTED_TOT_SS 9534.73\n6 DEPENDENT_MEAN 4.00997\n7 ERROR_DF 2685\n8 ERROR_MEAN_SQUARE 1.51053\n9 ERROR_SUM_SQUARES 4055.76\n10 F_VALUE 157.704\n11 GMSEP 1.52403\n12 HOCKING_SP 0.000562789\n13 J_P 1.52391\n14 MODEL_DF 23\n15 MODEL_F_P_VALUE 0\n16 MODEL_MEAN_SQUARE 238.216\n17 MODEL_SUM_SQUARES 5478.97\n18 NUM_PARAMS 24\n19 NUM_ROWS 2709\n20 ROOT_MEAN_SQ 1.22903\n21 R_SQ 0.574633\n22 SBIC 1282.95\n23 VALID_COVARIANCE_MATRIX YES\n\nAttributes: \nAFFINITY_CARD\nCUST_GENDER\nCUST_INCOME_LEVEL\nCUST_MARITAL_STATUS\nCUST_YEAR_OF_BIRTH\nEDUCATION\nHOUSEHOLD_SIZE\nOCCUPATION\nY_BOX_GAMES\n\nPartition: NO\n\nCoefficients: \n\n attribute name attribute value coefficient std error t value p value significance code\n0 (Intercept) None 151.619049 5.325376 28.471050 0.000000e+00 ***\n1 AFFINITY_CARD None 0.405005 0.065140 6.217413 5.842160e-10 ***\n2 CUST_GENDER F -0.156305 0.064863 -2.409772 1.602937e-02 *\n3 CUST_INCOME_LEVEL A: Below 30,000 0.480111 0.178824 2.684823 7.301432e-03 **\n4 CUST_INCOME_LEVEL F: 110,000 - 129,999 -0.185843 0.088004 -2.111773 3.479808e-02 *\n5 CUST_INCOME_LEVEL H: 150,000 - 169,999 0.210351 0.086174 2.440988 1.471132e-02 *\n6 CUST_MARITAL_STATUS Divorc. 0.224238 0.079465 2.821836 4.810077e-03 **\n7 CUST_MARITAL_STATUS Widowed -1.072453 0.153037 -7.007801 3.049532e-12 ***\n8 CUST_YEAR_OF_BIRTH None -0.075006 0.002719 -27.585654 0.000000e+00 ***\n9 EDUCATION < Bach. -0.167355 0.058745 -2.848861 4.421013e-03 **\n10 EDUCATION Masters 0.240118 0.121931 1.969301 4.902121e-02 *\n11 EDUCATION PhD 0.724599 0.254657 2.845393 4.469288e-03 **\n12 EDUCATION Profsc 0.507417 0.160317 3.165075 1.567788e-03 **\n13 HOUSEHOLD_SIZE 1 -0.380655 0.080496 -4.728864 2.374468e-06 ***\n14 HOUSEHOLD_SIZE 4-5 -0.671540 0.126990 -5.288148 1.335068e-07 ***\n15 HOUSEHOLD_SIZE 6-8 -0.292035 0.136270 -2.143066 3.219746e-02 *\n16 HOUSEHOLD_SIZE 9+ -0.210189 0.088008 -2.388277 1.699627e-02 *\n17 OCCUPATION ? -0.433972 0.114666 -3.784672 1.572781e-04 ***\n18 OCCUPATION Exec. 0.372300 0.075989 4.899416 1.018327e-06 ***\n19 OCCUPATION Handler -0.331908 0.136608 -2.429631 1.517937e-02 *\n20 OCCUPATION Other -0.274482 0.081512 -3.367383 7.695453e-04 ***\n21 OCCUPATION TechSup -0.268835 0.119675 -2.246382 2.476053e-02 *\n22 OCCUPATION Transp. 0.302057 0.121823 2.479479 1.321838e-02 *\n23 Y_BOX_GAMES None -0.483562 0.081466 -5.935759 3.301191e-09 ***\n\nSignif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 '\n\nFit Details: \n\n name value\n0 ADJUSTED_R_SQUARE 0.570989\n1 AIC 1141.242506\n2 COEFF_VAR 30.649500\n3 CORRECTED_TOTAL_DF 2708.000000\n4 CORRECTED_TOT_SS 9534.730897\n5 DEPENDENT_MEAN 4.009967\n6 ERROR_DF 2685.000000\n7 ERROR_MEAN_SQUARE 1.510527\n8 ERROR_SUM_SQUARES 4055.763666\n9 F_VALUE 157.703930\n10 GMSEP 1.524033\n11 HOCKING_SP 0.000563\n12 J_P 1.523909\n13 MODEL_CONVERGED 1.000000\n14 MODEL_DF 23.000000\n15 MODEL_F_P_VALUE 0.000000\n16 MODEL_MEAN_SQUARE 238.215967\n17 MODEL_SUM_SQUARES 5478.967231\n18 NUM_PARAMS 24.000000\n19 NUM_ROWS 2709.000000\n20 ROOT_MEAN_SQ 1.229035\n21 R_SQ 0.574633\n22 SBIC 1282.946542\n23 VALID_COVARIANCE_MATRIX 1.000000\n\nRank: \n\n24\n\nDeviance: \n\n4055.763666\n\nAIC: \n\n1141\n\nNull Deviance: \n\n9534.730897\n\nDF Residual: \n\n2685.0\n\nDF Null: \n\n2708.0\n\nConverged: \n\nTrue\n\n\n","type":"TEXT"}],"taskStatus":"SUCCESS","forms":"[]","status":"SUCCESS"},"sizeX":0,"hideCode":false,"width":6,"hideResult":false,"dynamicFormParams":null,"row":0,"hasTitle":true,"hideVizConfig":false,"hideGutter":true,"relations":[],"forms":"[]"},{"col":0,"visualizationConfig":"[{\"raw\":{\"height\":300,\"lastColumns\":[],\"version\":1}}]","hideInIFrame":false,"selectedVisualization":"raw","title":"Using options for Ridge Regression","message":["%python","","settings = {'GLMS_RIDGE_REGRESSION':'GLMS_RIDGE_REG_ENABLE',"," 'GLMS_FTR_SELECTION':'GLMS_FTR_SELECTION_DISABLE',"," 'GLMS_ROW_DIAGNOSTICS':'GLMS_ROW_DIAG_DISABLE',"," 'GLMS_CONV_TOLERANCE':'0.0001',"," 'GLMS_NUM_ITERATIONS':'50',"," 'GLMS_RIDGE_VALUE':'0.1',"," 'GLMS_BATCH_ROWS':'2000'}","","try:"," oml.drop(model = 'GLM_REGRESSION_MODEL')","except:"," print('No such model')"," ","glm_mod = oml.glm(\"regression\", **settings)","glm_mod.fit(TRAIN_X, TRAIN_Y, model_name = 'GLM_REGRESSION_MODEL', case_id = 'CUST_ID')"],"enabled":true,"result":{"startTime":1704380966365,"interpreter":"python.low","endTime":1704380968291,"results":[{"message":"\nModel Name: GLM_REGRESSION_MODEL\n\nModel Owner: OMLUSER\n\nAlgorithm Name: Generalized Linear Model\n\nMining Function: REGRESSION\n\nTarget: YRS_RESIDENCE\n\nSettings: \n setting name setting value\n0 ALGO_NAME ALGO_GENERALIZED_LINEAR_MODEL\n1 GLMS_BATCH_ROWS 2000\n2 GLMS_CONF_LEVEL .95\n3 GLMS_CONV_TOLERANCE 0.0001\n4 GLMS_FTR_GENERATION GLMS_FTR_GENERATION_DISABLE\n5 GLMS_FTR_SELECTION GLMS_FTR_SELECTION_DISABLE\n6 GLMS_NUM_ITERATIONS 50\n7 GLMS_RIDGE_REGRESSION GLMS_RIDGE_REG_ENABLE\n8 GLMS_RIDGE_VALUE 0.1\n9 GLMS_ROW_DIAGNOSTICS GLMS_ROW_DIAG_DISABLE\n10 GLMS_VIF_FOR_RIDGE GLMS_VIF_RIDGE_DISABLE\n11 ODMS_DETAILS ODMS_ENABLE\n12 ODMS_MISSING_VALUE_TREATMENT ODMS_MISSING_VALUE_AUTO\n13 ODMS_SAMPLING ODMS_SAMPLING_DISABLE\n14 PREP_AUTO ON\n\nComputed Settings: \n setting name setting value\n0 GLMS_SOLVER GLMS_SOLVER_CHOL\n\nGlobal Statistics: \n attribute name attribute value\n0 ADJUSTED_R_SQUARE 0.577186\n1 AIC 1134.32\n2 COEFF_VAR 30.4273\n3 CONVERGED YES\n4 CORRECTED_TOTAL_DF 2708\n5 CORRECTED_TOT_SS 9534.73\n6 DEPENDENT_MEAN 4.00997\n7 ERROR_DF 2652\n8 ERROR_MEAN_SQUARE 1.48871\n9 ERROR_SUM_SQUARES 3948.05\n10 F_VALUE 67.0127\n11 GMSEP 1.52071\n12 HOCKING_SP 0.000561564\n13 J_P 1.52003\n14 MODEL_DF 56\n15 MODEL_F_P_VALUE 0\n16 MODEL_MEAN_SQUARE 99.7622\n17 MODEL_SUM_SQUARES 5586.68\n18 NUM_PARAMS 57\n19 NUM_ROWS 2709\n20 RANK_DEFICIENCY 0\n21 ROOT_MEAN_SQ 1.22013\n22 R_SQ 0.58593\n23 SBIC 1470.87\n24 VALID_COVARIANCE_MATRIX YES\n\nAttributes: \nAFFINITY_CARD\nCUST_CREDIT_LIMIT\nCUST_GENDER\nCUST_INCOME_LEVEL\nCUST_MARITAL_STATUS\nCUST_YEAR_OF_BIRTH\nEDUCATION\nHOUSEHOLD_SIZE\nOCCUPATION\nY_BOX_GAMES\n\nPartition: NO\n\nCoefficients: \n\n attribute name attribute value coefficient std error t value p value significance code\n0 (Intercept) None 153.286770 5.432447 28.216893 0.000000e+00 ***\n1 AFFINITY_CARD None 0.341061 0.068599 4.971812 7.055932e-07 ***\n2 CUST_CREDIT_LIMIT None 0.000016 0.000008 2.031948 4.225836e-02 *\n3 CUST_GENDER F -0.113944 0.071593 -1.591559 1.116029e-01 \n4 CUST_INCOME_LEVEL A: Below 30,000 0.638712 0.197875 3.227863 1.262389e-03 **\n5 CUST_INCOME_LEVEL B: 30,000 - 49,999 0.143608 0.131329 1.093496 2.742753e-01 \n6 CUST_INCOME_LEVEL C: 50,000 - 69,999 0.217494 0.142641 1.524762 1.274377e-01 \n7 CUST_INCOME_LEVEL D: 70,000 - 89,999 -0.011218 0.153834 -0.072924 9.418718e-01 \n8 CUST_INCOME_LEVEL E: 90,000 - 109,999 0.205015 0.112914 1.815669 6.953406e-02 .\n9 CUST_INCOME_LEVEL F: 110,000 - 129,999 -0.081756 0.105989 -0.771362 4.405610e-01 \n10 CUST_INCOME_LEVEL G: 130,000 - 149,999 0.164024 0.103451 1.585523 1.129668e-01 \n11 CUST_INCOME_LEVEL H: 150,000 - 169,999 0.288714 0.102497 2.816809 4.886220e-03 **\n12 CUST_INCOME_LEVEL I: 170,000 - 189,999 -0.066784 0.094095 -0.709746 4.779238e-01 \n13 CUST_INCOME_LEVEL K: 250,000 - 299,999 0.012075 0.093706 0.128866 8.974734e-01 \n14 CUST_INCOME_LEVEL L: 300,000 and above -0.003902 0.080750 -0.048323 9.614627e-01 \n15 CUST_MARITAL_STATUS Divorc. 0.253653 0.315765 0.803296 4.218758e-01 \n16 CUST_MARITAL_STATUS Mabsent -0.232063 0.360465 -0.643788 5.197688e-01 \n17 CUST_MARITAL_STATUS Mar-AF -0.942407 0.708334 -1.330455 1.834827e-01 \n18 CUST_MARITAL_STATUS NeverM -0.014300 0.305534 -0.046804 9.626733e-01 \n19 CUST_MARITAL_STATUS Separ. -0.041920 0.335911 -0.124795 9.006955e-01 \n20 CUST_MARITAL_STATUS Widowed -0.946343 0.343085 -2.758334 5.849528e-03 **\n21 CUST_YEAR_OF_BIRTH None -0.075905 0.002775 -27.354516 0.000000e+00 ***\n22 EDUCATION 10th -0.055951 0.154018 -0.363277 7.164271e-01 \n23 EDUCATION 11th -0.281551 0.141632 -1.987909 4.692445e-02 *\n24 EDUCATION 12th -0.191125 0.204022 -0.936783 3.489552e-01 \n25 EDUCATION 1st-4th 0.185111 0.413668 0.447488 6.545592e-01 \n26 EDUCATION 5th-6th 0.311115 0.245960 1.264899 2.060185e-01 \n27 EDUCATION 7th-8th -0.527250 0.173509 -3.038746 2.398826e-03 **\n28 EDUCATION 9th -0.480464 0.176480 -2.722481 6.521764e-03 **\n29 EDUCATION < Bach. -0.205203 0.067175 -3.054761 2.274804e-03 **\n30 EDUCATION Assoc-A 0.212537 0.127838 1.662556 9.651949e-02 .\n31 EDUCATION Assoc-V 0.039585 0.124268 0.318543 7.500980e-01 \n32 EDUCATION Bach. 0.098861 0.079016 1.251158 2.109872e-01 \n33 EDUCATION Masters 0.334172 0.135078 2.473920 1.342612e-02 *\n34 EDUCATION PhD 0.780157 0.263323 2.962736 3.076294e-03 **\n35 EDUCATION Presch. -1.093416 0.700902 -1.560013 1.188762e-01 \n36 EDUCATION Profsc 0.608335 0.176374 3.449124 5.711853e-04 ***\n37 HOUSEHOLD_SIZE 1 -0.436662 0.313081 -1.394725 1.632155e-01 \n38 HOUSEHOLD_SIZE 2 -0.113825 0.312996 -0.363662 7.161393e-01 \n39 HOUSEHOLD_SIZE 4-5 -0.696452 0.134493 -5.178353 2.406347e-07 ***\n40 HOUSEHOLD_SIZE 6-8 -0.349792 0.318628 -1.097805 2.723895e-01 \n41 HOUSEHOLD_SIZE 9+ -0.287699 0.323291 -0.889908 3.735959e-01 \n42 OCCUPATION ? -0.431388 0.127740 -3.377076 7.431725e-04 ***\n43 OCCUPATION Armed-F -0.475247 1.171912 -0.405531 6.851201e-01 \n44 OCCUPATION Cleric. 0.061619 0.096504 0.638513 5.231951e-01 \n45 OCCUPATION Crafts -0.043042 0.096574 -0.445692 6.558559e-01 \n46 OCCUPATION Exec. 0.303436 0.095954 3.162299 1.582974e-03 **\n47 OCCUPATION Farming 0.217302 0.162729 1.335361 1.818730e-01 \n48 OCCUPATION Handler -0.326269 0.149467 -2.182882 2.913193e-02 *\n49 OCCUPATION House-s -1.228783 0.330235 -3.720932 2.026102e-04 ***\n50 OCCUPATION Machine -0.056461 0.118308 -0.477237 6.332329e-01 \n51 OCCUPATION Other -0.257109 0.101257 -2.539175 1.116810e-02 *\n52 OCCUPATION Prof. -0.139071 0.105009 -1.324372 1.854937e-01 \n53 OCCUPATION Protec. 0.028677 0.180879 0.158544 8.740406e-01 \n54 OCCUPATION TechSup -0.337437 0.132700 -2.542856 1.105141e-02 *\n55 OCCUPATION Transp. 0.296709 0.136495 2.173768 2.981078e-02 *\n56 Y_BOX_GAMES None -0.463980 0.083037 -5.587607 2.536575e-08 ***\n\nSignif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 '\n\nFit Details: \n\n name value\n0 ADJUSTED_R_SQUARE 0.577186\n1 AIC 1134.321375\n2 COEFF_VAR 30.427312\n3 CORRECTED_TOTAL_DF 2708.000000\n4 CORRECTED_TOT_SS 9534.730897\n5 DEPENDENT_MEAN 4.009967\n6 ERROR_DF 2652.000000\n7 ERROR_MEAN_SQUARE 1.488705\n8 ERROR_SUM_SQUARES 3948.046492\n9 F_VALUE 67.012740\n10 GMSEP 1.520714\n11 HOCKING_SP 0.000562\n12 J_P 1.520029\n13 MODEL_CONVERGED 1.000000\n14 MODEL_DF 56.000000\n15 MODEL_F_P_VALUE 0.000000\n16 MODEL_MEAN_SQUARE 99.762222\n17 MODEL_SUM_SQUARES 5586.684405\n18 NUM_PARAMS 57.000000\n19 NUM_ROWS 2709.000000\n20 RANK_DEFICIENCY 0.000000\n21 ROOT_MEAN_SQ 1.220125\n22 R_SQ 0.585930\n23 SBIC 1470.868461\n24 VALID_COVARIANCE_MATRIX 1.000000\n\nRank: \n\n57\n\nDeviance: \n\n3948.046492\n\nAIC: \n\n1134\n\nNull Deviance: \n\n9534.730897\n\nDF Residual: \n\n2652.0\n\nDF Null: \n\n2708.0\n\nConverged: \n\nTrue\n\n\n","type":"TEXT"}],"taskStatus":"SUCCESS","forms":"[]","status":"SUCCESS"},"sizeX":0,"hideCode":false,"width":6,"hideResult":false,"dynamicFormParams":null,"row":0,"hasTitle":true,"hideVizConfig":false,"hideGutter":true,"relations":[],"forms":"[]"},{"col":0,"visualizationConfig":null,"hideInIFrame":false,"selectedVisualization":"table","title":"Display model fit details","message":["%python","","z.show(glm_mod.fit_details.round(6))"],"enabled":true,"result":{"startTime":1704380968416,"interpreter":"python.low","endTime":1704380968541,"results":[{"message":"name\tvalue\nADJUSTED_R_SQUARE\t0.577186\nAIC\t1134.321375\nCOEFF_VAR\t30.427312\nCORRECTED_TOTAL_DF\t2708.0\nCORRECTED_TOT_SS\t9534.730897\nDEPENDENT_MEAN\t4.009967\nERROR_DF\t2652.0\nERROR_MEAN_SQUARE\t1.488705\nERROR_SUM_SQUARES\t3948.046492\nF_VALUE\t67.01274\nGMSEP\t1.520714\nHOCKING_SP\t0.000562\nJ_P\t1.520029\nMODEL_CONVERGED\t1.0\nMODEL_DF\t56.0\nMODEL_F_P_VALUE\t0.0\nMODEL_MEAN_SQUARE\t99.762222\nMODEL_SUM_SQUARES\t5586.684405\nNUM_PARAMS\t57.0\nNUM_ROWS\t2709.0\nRANK_DEFICIENCY\t0.0\nROOT_MEAN_SQ\t1.220125\nR_SQ\t0.58593\nSBIC\t1470.868461\nVALID_COVARIANCE_MATRIX\t1.0\n","type":"TABLE"}],"taskStatus":"SUCCESS","forms":"[]","status":"SUCCESS"},"sizeX":0,"hideCode":false,"width":6,"hideResult":false,"dynamicFormParams":null,"row":0,"hasTitle":true,"hideVizConfig":false,"hideGutter":true,"relations":[],"forms":"[]"},{"col":0,"visualizationConfig":null,"hideInIFrame":false,"selectedVisualization":"table","title":"Display the coefficients","message":["%python","","z.show(glm_mod.coef.head(10).round(3))"],"enabled":true,"result":{"startTime":1704380968658,"interpreter":"python.low","endTime":1704380968782,"results":[{"message":"attribute name\tattribute value\tcoefficient\tstd error\tt value\tp value\n(Intercept)\tNone\t153.287\t5.432\t28.217\t0.0\nAFFINITY_CARD\tNone\t0.341\t0.069\t4.972\t0.0\nCUST_CREDIT_LIMIT\tNone\t0.0\t0.0\t2.032\t0.042\nCUST_YEAR_OF_BIRTH\tNone\t-0.076\t0.003\t-27.355\t0.0\nY_BOX_GAMES\tNone\t-0.464\t0.083\t-5.588\t0.0\nCUST_GENDER\tF\t-0.114\t0.072\t-1.592\t0.112\nCUST_INCOME_LEVEL\tA: Below 30,000\t0.639\t0.198\t3.228\t0.001\nCUST_INCOME_LEVEL\tB: 30,000 - 49,999\t0.144\t0.131\t1.093\t0.274\nCUST_INCOME_LEVEL\tC: 50,000 - 69,999\t0.217\t0.143\t1.525\t0.127\nCUST_INCOME_LEVEL\tD: 70,000 - 89,999\t-0.011\t0.154\t-0.073\t0.942\n","type":"TABLE"}],"taskStatus":"SUCCESS","forms":"[]","status":"SUCCESS"},"sizeX":0,"hideCode":false,"width":12,"hideResult":false,"dynamicFormParams":null,"row":0,"hasTitle":true,"hideVizConfig":false,"hideGutter":true,"relations":[],"forms":"[]"},{"col":0,"visualizationConfig":null,"hideInIFrame":false,"selectedVisualization":"table","title":"Make predictions using test data and display results","message":["%python","","RES_DF = glm_mod.predict(TEST_X, supplemental_cols = TEST)","","z.show(RES_DF[['PREDICTION', 'YRS_RESIDENCE'] + RES_DF.columns].head(10).round(2))"],"enabled":true,"result":{"startTime":1704380968897,"interpreter":"python.low","endTime":1704380969196,"results":[{"message":"PREDICTION\tYRS_RESIDENCE\tCUST_ID\tCUST_GENDER\tCUST_MARITAL_STATUS\tCUST_YEAR_OF_BIRTH\tCUST_INCOME_LEVEL\tCUST_CREDIT_LIMIT\tEDUCATION\tAFFINITY_CARD\tHOUSEHOLD_SIZE\tOCCUPATION\tYRS_RESIDENCE\tY_BOX_GAMES\tPREDICTION\n4.57\t2\t100134\tF\tDivorc.\t1965\tL: 300,000 and above\t9000\tAssoc-A\t0\t2\tCleric.\t2\t0\t4.57\n1.84\t2\t101232\tM\tNeverM\t1979\tJ: 190,000 - 249,999\t9000\t< Bach.\t0\t1\tOther\t2\t1\t1.84\n5.31\t5\t103791\tM\tDivorc.\t1952\tB: 30,000 - 49,999\t3000\tHS-grad\t0\t2\tProf.\t5\t0\t5.31\n2.23\t2\t102308\tM\tNeverM\t1980\tJ: 190,000 - 249,999\t11000\t< Bach.\t0\t2\tProf.\t2\t1\t2.23\n4.71\t4\t100558\tM\tMarried\t1964\tJ: 190,000 - 249,999\t11000\tAssoc-V\t1\t3\tMachine\t4\t0\t4.71\n3.1\t4\t103401\tM\tDivorc.\t1975\tI: 170,000 - 189,999\t10000\tHS-grad\t0\t2\tCrafts\t4\t1\t3.1\n6.83\t0\t102740\tF\tDivorc.\t1929\tK: 250,000 - 299,999\t15000\t10th\t0\t2\tOther\t0\t0\t6.83\n3.75\t3\t103829\tM\tDivorc.\t1973\tE: 90,000 - 109,999\t7000\tHS-grad\t0\t9+\tMachine\t3\t0\t3.75\n3.39\t3\t104077\tM\tNeverM\t1975\tL: 300,000 and above\t9000\tProfsc\t0\t2\tProf.\t3\t1\t3.39\n5.56\t5\t101798\tM\tMarried\t1960\tG: 130,000 - 149,999\t15000\tHS-grad\t1\t3\tExec.\t5\t0\t5.56\n","type":"TABLE"}],"taskStatus":"SUCCESS","forms":"[]","status":"SUCCESS"},"sizeX":0,"hideCode":false,"width":12,"hideResult":false,"dynamicFormParams":null,"row":0,"hasTitle":true,"hideVizConfig":false,"hideGutter":true,"relations":[],"forms":"[]"},{"col":0,"visualizationConfig":null,"hideInIFrame":false,"selectedVisualization":"raw","title":"Model quality statistics on the TEST data","message":["%python","","import numpy as np","","# The coefficient of determination R?2 is part of the \"score\" method for OML models","CoefficientOfDeterminationR2 = glm_mod.score(TEST_X, TEST_Y)"," ","# Compute other statistics by hand - no need to pull data locally to Python","# RES_DF[['PREDICTION', 'YRS_RESIDENCE']","MeanAbsoluteError = (abs(RES_DF['YRS_RESIDENCE'] - RES_DF['PREDICTION']).sum())/RES_DF['YRS_RESIDENCE'].count()","MeanSquaredError = ((RES_DF['YRS_RESIDENCE'] - RES_DF['PREDICTION'])**2).sum()/RES_DF['YRS_RESIDENCE'].count()","RootMeanSquaredError = np.sqrt(MeanSquaredError)","","print('R^2: ', CoefficientOfDeterminationR2.round(4))","print('MAE: ', MeanAbsoluteError.round(4))","print('MSE: ', MeanSquaredError.round(4))","print('RMSE: ', RootMeanSquaredError.round(4))"],"enabled":true,"result":{"startTime":1704380969311,"interpreter":"python.low","endTime":1704380969671,"results":[{"message":"R^2: 0.5569\nMAE: 0.8651\nMSE: 1.6673\nRMSE: 1.2912\n","type":"TEXT"}],"taskStatus":"SUCCESS","forms":"[]","status":"SUCCESS"},"sizeX":0,"hideCode":false,"width":12,"hideResult":false,"dynamicFormParams":null,"row":0,"hasTitle":true,"hideVizConfig":false,"hideGutter":true,"relations":[],"forms":"[]"},{"col":0,"visualizationConfig":"[{\"table\":{\"version\":1},\"scatterplot\":{\"groupByColumns\":[],\"showSeriesX\":[\"YRS_RESIDENCE\"],\"label\":[],\"extraDescription\":[],\"showLabel\":\"no\",\"showDescription\":\"no\",\"lastColumns\":[\"PREDICTION\",\"YRS_RESIDENCE\"],\"version\":1}}]","hideInIFrame":false,"selectedVisualization":"scatterplot","title":"Plot the predicted and actual years of residence ","message":["%python","","z.show(RES_DF[['PREDICTION', 'YRS_RESIDENCE']].head(100))"],"enabled":true,"result":{"startTime":1704380969798,"interpreter":"python.low","endTime":1704380969983,"results":[{"message":"PREDICTION\tYRS_RESIDENCE\n4.57191443901974\t2.0\n1.8358546077171392\t2.0\n5.312181183257389\t5.0\n2.2323988564511543\t2.0\n4.707440334622631\t4.0\n3.0985366454325205\t4.0\n6.827973805136314\t0.0\n3.7514697241400805\t3.0\n3.389984135786385\t3.0\n5.558543569472224\t5.0\n4.931785043571118\t5.0\n3.821346504334991\t1.0\n4.671141595251779\t4.0\n4.637060248997707\t5.0\n3.928007733127923\t4.0\n4.685315294174711\t5.0\n4.272350467119804\t5.0\n3.856041579641236\t3.0\n4.763705072196844\t5.0\n4.393157118465297\t4.0\n2.576899442953469\t4.0\n4.201836156665195\t3.0\n1.2322666658095578\t1.0\n4.304581897574273\t3.0\n3.8575624269465103\t3.0\n5.460466693888613\t5.0\n4.615890688182985\t5.0\n1.752029200165881\t2.0\n5.523615432036287\t5.0\n3.1286523072376253\t3.0\n4.017237980750553\t5.0\n3.649534665295635\t2.0\n4.209938366084536\t6.0\n4.183053991337589\t4.0\n4.720103459218842\t3.0\n1.7869371148460438\t2.0\n5.428604534507215\t6.0\n3.373842654253\t5.0\n4.0534245034282\t5.0\n5.179803954965174\t10.0\n1.3760803288660053\t1.0\n4.965887241808666\t7.0\n7.015572559176409\t7.0\n2.763471212249958\t2.0\n5.727870296291183\t7.0\n2.913572577855662\t4.0\n4.787647909451225\t5.0\n3.269514294134353\t3.0\n5.251748264297419\t7.0\n4.337527610211263\t4.0\n4.403361748758342\t5.0\n5.530763155593056\t4.0\n2.8202897431844773\t3.0\n2.743044928352869\t3.0\n4.351015663708916\t4.0\n3.0686750672400356\t3.0\n2.3807790690896296\t2.0\n7.156367191586237\t6.0\n4.440458514903465\t9.0\n1.6489176427546925\t1.0\n6.250639807930804\t6.0\n4.367295798221904\t4.0\n5.42467435536096\t6.0\n5.9403541537286\t6.0\n2.6442704547250946\t2.0\n3.2130959589247268\t2.0\n4.3974729014767195\t4.0\n5.736500253879448\t6.0\n1.4447064621960093\t0.0\n3.922643064613891\t3.0\n4.183053991337589\t4.0\n4.865308075564007\t7.0\n4.286962609718261\t4.0\n4.993338829966633\t6.0\n3.9027181635342836\t3.0\n3.3670569631617067\t4.0\n6.08959229229739\t6.0\n2.45238843601096\t1.0\n3.787275137527118\t3.0\n2.538570849790202\t2.0\n2.5111421778298344\t3.0\n3.732700729526654\t4.0\n3.3893333377073587\t4.0\n2.5793226011902117\t3.0\n5.761236072739153\t5.0\n1.0438523152603947\t2.0\n1.8154284561596836\t0.0\n1.9777145389965205\t2.0\n4.073812374671\t3.0\n3.6146461321885575\t3.0\n1.6360232192990298\t2.0\n5.457614570091144\t5.0\n3.9034462503274163\t5.0\n2.5393831245365903\t3.0\n4.727773483841452\t4.0\n5.607211323465545\t6.0\n5.95095004671569\t4.0\n1.4972476421551408\t1.0\n5.958070954521609\t5.0\n1.6347720515702422\t3.0\n","type":"TABLE"}],"taskStatus":"SUCCESS","forms":"[]","status":"SUCCESS"},"sizeX":0,"hideCode":false,"width":12,"hideResult":false,"dynamicFormParams":null,"row":0,"hasTitle":true,"hideVizConfig":false,"hideGutter":true,"relations":[],"forms":"[]"},{"col":0,"visualizationConfig":null,"hideInIFrame":false,"selectedVisualization":"html","title":"Using matplotlib, plot the predicted and actual years of residence","message":["%python","","import numpy as np","import matplotlib.pyplot as plt","plt.style.use('seaborn')","plt.figure(figsize=[9,7])","plt.margins(0.05)","","x = RES_DF[['PREDICTION']].pull()","y = RES_DF[['YRS_RESIDENCE']].pull()","n = len(x)","","plt.plot(x, y, '.', c='black', alpha=0.8, ms=7)","","plt.plot( [np.min(y),np.max(y)],[np.min(y),np.max(y)],"," c='red', alpha=0.8, ms=3,"," label='Perfect prediction reference line')","","plt.legend(frameon=True, facecolor='lightgray') ","plt.xlabel('PREDICTION')","plt.ylabel('YRS_RESIDENCE')","plt.title('The prediction vs. actual value for years of residence',"," fontsize=16)","plt.grid(True)","plt.show()"],"enabled":true,"result":{"startTime":1704380970110,"interpreter":"python.low","endTime":1704380970415,"results":[{"message":"<div style='width:auto;height:auto'><img src=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAogAAAH4CAYAAADJgxzmAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/Il7ecAAAACXBIWXMAAAsTAAALEwEAmpwYAACNYklEQVR4nOzdd3xT9f7H8VeSNm2TlraUllnKbNmgFxnKENwDHPfiuG69CipDBRSEFiiguAeowHVevdftVUT9ibgHywUOKLJKq9CW7iZt0iTn9wc2l0ILLbSk4/18PHg86Mk53/PJJyfpu2fFZBiGgYiIiIjIn8yBLkBEREREGhYFRBERERGpRAFRRERERCpRQBQRERGRShQQRURERKQSBUQRERERqUQBUUREREQqUUAUERERkUoUEEVERESkEgVEEREREalEAVFEREREKlFAFBEREZFKFBBFREREpBIFRBERERGpRAFRRERERCpRQBQRERGRShQQRURERKQSBUQRERERqUQBUUREREQqUUAUERERkUoUEEVERESkEgVEEREREalEAVFEREREKlFAFBEREZFKFBBFREREpBIFRBERERGpRAFRRERERCpRQBQRERGRShQQRURERKQSBUQRERERqUQBUUREREQqUUAUERERkUoUEEVERESkEgVEEREREalEAVFEREREKlFAFBEREZFKFBBFREREpBIFRBERERGpRAFRRERERCpRQBQRERGRShQQRURERKQSBcQmKikp6Yj/Ro8eDcCMGTMYMWJEgCuuX5mZmSQlJfHWW2/5p82YMcPfg5pat24dixcvxufzHXF8ObzFixezZs2a47KepKSkel9PoNcJ4PP5WLhwIcOGDaNHjx7ccsstx72GpuqTTz5hzJgx9O3bl6SkJIqKigJSR20+a0aPHs2MGTOOQ1XSFAUFugCpH6+++mqlnydOnEhSUhKTJk3yT7Narce7rAbllltu4eqrr67VMuvXr2fJkiXcfPPNmM3/+/sqLi6OV199lY4dO9Z1mU3WkiVLmDBhAkOHDg10KU3G//3f//Gvf/2LGTNmMGDAAKKiogJdUpPg8XiYNm0aJ5xwAikpKQQHB2O32wNSiz5r5HhRQGyiBgwYUOlnq9VKdHT0IdMbg/LycoKCgjCZTHU6bl1+wFqt1kbZW2laduzYAcA111xT6Q+Yo+V2uxv8H5LHo8asrCwcDgfnnHMOJ510Uq2Xr8sa9Vkjx4sOMYvfr7/+yt///nf69+/PmWeeycsvv3zIPBkZGUydOpUhQ4bQp08fLrjgAj766KMjjv3WW2+RlJTEhg0buOWWWzjhhBMYPHgw8+bNo6yszD9fxeGTf//739x///0MGzaMvn37+g/nrFq1iksuuYT+/fszcOBAJk+ezB9//FFpXaWlpcydO5fBgwdzwgknMGHCBPbu3XtITVUdYnY6nTz44IOcfvrp9OnTh1NOOYVJkyaxb98+Fi9ezJIlSwDo3bu3/1D9gXUffNjnnXfeYezYsfTt25fBgwczffp0srOzK80zevRopk2bxnvvvcc555zDgAEDuPjii/n2228P29MPPviApKQktmzZcshjN954I2PHjvX//MILL3DOOefQr18/TjrpJC6++OIavW4HS09PZ/r06YwePZp+/fpx2mmnMWfOHAoLCw+Zd/369Vx33XX85S9/YcCAAYwdO5bXX38dwN+3pUuX+vu4ePFiAK666iquuuqqQ8Y7+HBZXl4eKSkpnHXWWfTv35+RI0cydepUsrKyav28brrpJi666KJDpmdnZ9OrVy+ef/75Y1pnddvHunXrSEpKYt26dZWm12Q7P9jo0aP9PezZs2el9WVnZ3PnnXcyePBg+vTpw5gxY3jnnXcqLX/ge3Ty5MkMHDiQcePGVbmuDz/8sNpt76qrruKSSy7x/+zxeFi2bBlnn302ffr0YdiwYSxatAiXy1Vpuccff5yLLrqIE088kcGDB3P11Vfz448/VtmvVatWMXv2bIYMGcLJJ58MwM6dO7n11lsZOnQoffv25dRTT2Xy5Ml4PJ7D9u1IvVm8eLH/c2LWrFkkJSVVuX1WqDhl54cffuCyyy6jX79+3H///cD/tp/hw4fTp08fzj777EOO9uTk5HDXXXcxbNgwf7/Gjx9Pbm4uUP229MILLzB69Gj69u172M+PmnyGV5wisWvXLm666SZOOOEERo0axZIlSw45vSYvL4+5c+cycuRI+vTpw8iRI5k+fTput9s/z5YtW5gwYQInnXQS/fr147LLLjvi55sEnvYgCgAlJSVMnTqVa665hltvvZW33nqLuXPn0rlzZ4YMGQLAnj17uOSSS4iJiWHmzJm0bNmS999/n0mTJvHEE09w2mmnHXE906dP55xzzuHvf/87mzZt4sknn6S0tJRFixZVmm/p0qX07duX+fPn4/V6CQkJ4eWXX2bu3LlcfPHF3HrrrTgcDhYvXsyVV17JihUrCA8PByAlJYUPPviAW2+9lb59+/L1118zbdq0I9bmdru5/vrr2bJlCzfeeCMDBgyguLiYr776isLCQsaNG8fevXt54403+M9//oPFYjnseK+++iopKSmce+65TJ06lezsbB5++GE2bdrEW2+9VekQ1XfffcfOnTuZMmUKISEhPPbYY0yYMIFPPvmEFi1aVDn+6NGjiYiIYMWKFfTo0cM/fd++fZWe84oVK7jvvvu45ZZbGDhwIC6Xi7S0NAoKCo7Yk4NlZ2fTtm1b7r77biIjI8nIyGDZsmXcdNNNlX7RrV69msmTJ3PiiSeSmppKdHQ0v/32mz/kvPrqq1x66aVcfPHFXHrppQC0adOmVrUUFBRgtVq54447aNmyJdnZ2Tz77LNcfvnlfPDBB4SEhNR4rAsuuIA77riDbdu20a1bN//0lStXAnD++efX+TqrU9Pt/GBLlizhxRdf5K233vK/Fh07dsTpdHLVVVdRWFjIHXfcQZs2bVixYgV33nknZWVl/v5XmDZtGueddx6PP/54teHqtNNOIy4ujldeeYW5c+f6p2/fvp3169dz7733+qdNnz6dTz/9lH/84x+ceOKJbN++nccee4zff//dH2hh/166a665hjZt2lBaWsqKFSu48sorefPNNw85n3P+/PmMGDGC+++/3x9Exo8fT4sWLZg7dy7R0dFkZWXx+eefHxJoDlST3owbN47u3bszZcoUbr75Zk499dRqX4MKxcXF3HHHHVx//fXcfvvthIaGUlJSwuWXX47L5WLSpEl06NCBL7/8krlz5+J2u/2h88477+SPP/7gzjvvpG3btuzbt481a9ZQWlpa7fpef/117rnnHi6++GLOOeccdu/ezR133IHD4ag0X20/wydOnMjFF1/MtddeyyeffMLixYtp27Ytf/3rXwEoLCzksssuo7CwkJtvvpmkpCRyc3P5+OOP/XtNf/nlF6644gp69uzJ/PnzCQsL4+WXX+baa6/llVdeoU+fPoftpQSQIc3CqFGjjKlTp1b52F133WUkJiYaa9as8U9zuVzGoEGDjNmzZ/unzZw50xg8eLCRl5dXaflrr73WGDt27GHX/+abbxqJiYlGcnJypelP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hP19hENDf01ZrdZDzp0CDgnV7733HkOHDq104UpGRsZRrRNg0KBBtGvXjhUrVjBo0CBWrlzJWWed5d8bdizrrDg3sby8vNL0g59TTbfz2oiMjKxyL9y+ffv8jx+oNncLuPzyy7n22mv5+eefefXVVxk4cGCluqOioggJCeHf//53lctXvF9XrVqFxWJh8eLFBAcH+x8vKiqq8o/XqmqMj4/n/vvvxzAMtmzZwksvvcS8efNo3749I0eOrHL9te1NTVVVX1RUFC1btmTWrFlVLtO5c2dg/x+zc+bMYc6cOezYsYO3336bxYsX07JlyyrDbkXArai5gsfjqXL7OtbP8ANVnOtZnYiICMxmM1dcccUhe+IrKBw2XHplpMaGDx9OWloa3bt3p2/fvof8q8ltHD744INKP7/33nuYzWb69+9/2OVOPPFE7HY76enpVa67S5cuAPTr1w+z2Vzleo7klFNOIScnh08++aTaeSqe44FXXlelc+fOtGrVivfff7/S9O+//57ff/+dQYMGHbGemrrgggtwOp2sWrWKd999lzPPPJOwsLAq542MjOTcc8/lnHPOOaowXFZWdshhq4OvpuzcuTPt27fn9ddfP+zhseDg4Cr3urVv356dO3dW2lOxYcOGQ0JjTWqpjYqw/eGHH/L555+TlZV1yC+1o11nq1atsFqth/T8s88+q/RzTbfz2hg0aBB79+7lu+++qzR95cqVxMTEVBlEa2ro0KF06dKFRYsW8f3331faewj7PzNcLhclJSVVPp+KQFJaWorZbK4UrNasWXPEK7erYjKZ6NmzJzNnzgQ47HZen7052PDhw9m5cyft2rWrshdVHX3p0qULd9xxB5GRkdU+jzZt2tC2bdtDPvNWrVp1yEVGdfEZfqBTTjmFTZs2VXk1O4DNZmPgwIFs2bKF3r17V7lOabi0B1FqbPLkyYwbN44rrriCK6+8kvbt21NUVMTWrVvJyMiodOVidb744gvuu+8+hg0bxqZNm3jiiSe48MIL6dSp02GXCw8P58477yQ1NZW8vDxGjBhBREQEWVlZbNiwgUGDBjFmzBi6dOnC+eefz+OPP47P56Nv37589dVXfPHFF0esreI2LFOnTuWmm26if//+OBwOvvzyS6655hq6du1K165dAXjuuecYMWIEZrO5yg85i8XC5MmTSUlJYdq0aYwdO5asrCweffRROnXq5L8KsC507tyZ/v3789BDD5GVlcWFF15Y6fHk5GTsdjsDBgwgJiaGXbt28c4773DKKaf451myZAlPPvkkH330Ee3bt692XcOHD+ftt98mMTGRhIQEVq1axQ8//FBpHpPJxN13382kSZO4+uqrufzyy4mOjmbHjh3k5uYyefJkALp168Znn33G8OHDadGiBXFxcbRu3Zpzzz2XV199lbvvvpuLL76YzMxMnnvuOSIiIg6p5Z///CdLly6lX79+rF27lg8//PCYejl27FiWLl3KnDlzaNeu3SHnph3tOk0mE+eeey5vvPEGnTp1onPnznz22WesX7++0nw13c5r46KLLuJf//oXkyZN4vbbb6d169a8++67fP3116Smph7xavwjufzyy1m4cCHR0dGcddZZlR4bPHgw559/PpMnT+baa6/1/wH3+++/8/nnnzNt2jQ6d+7M8OHDeeGFF5gxYwZ//etf2blzJ08++WSN92ht2bKFhQsXcu6555KQkIDX6+W///0vQUFBlc6tPt69OdC1117L+++/z9///neuvfZaOnfuTGlpKTt27ODbb7/lqaeeori4mGuvvdb/WRYcHMzHH39MYWFhpffrgcxmM7feeiuzZ89m5syZnHvuuezevZvly5cfEjrr4jP84Oe0cuVKrr32Wm6++WYSExPJz8/n448/Zt68eYSHhzNjxgyuvPJKbrjhBv72t78RGxtLfn4+v/76K16vt0Z3mJDAUECUGmvXrh1vvvkmixcv5uGHHyY/P5+oqCi6d+9+SCipzgMPPMCzzz7LK6+8QnBwMOPGjeOuu+6q0bKXXXYZbdu25emnn2blypV4vV5at27NX/7yF3r27OmfLzU1FZvNxrPPPkt5eTmDBw/mwQcfPOy5SLB/j9YzzzzDkiVLeO2113jiiSeIiorixBNP9B/6GzVqFH//+9/5z3/+wxNPPIFhGKSlpVU53qWXXkpoaCjPPPMMt9xyC3a7nREjRjB9+vRKh7/rwgUXXEBqamqVJ9yfeOKJvPXWW7zzzjsUFxcTFxfH2LFj/UENwDAMvF7vEU+Inz17NoZh8OijjwIwYsQIHnrooUPul3f66afz7LPP8uSTT/oPqcXHx3PNNdf450lOTmbhwoVMmDABt9vNxIkTmTRpEkOGDGHevHk8++yzrFq1il69evHAAw9Uqhfg1ltvpaioiOeffx6Xy8WgQYN4+umnK50zWFtdu3alT58+/Pzzz4wfP/6QQ4XHss5Zs2bh8/lYvHgxhmFw9tlnk5yczPjx4yvNV9PtvKZsNhsvvvgiDzzwAA8++CAOh4POnTtz//33V3vYrzbOPvtsFi5cyEUXXVTlHqgHHniAF198kTfffJOlS5ditVpp3749w4YN8583N3z4cGbPns1zzz3HqlWr6N69O/fffz9PPfVUjWqIjY2lXbt2PP/88+zdu5eQkBASExNZunTpYW+jUt+9OVBERASvvPIKTzzxBP/85z/Jzs4mIiKCzp07c+aZZwL7T0Xo3bs3r7/+On/88Qcmk4nOnTv7781anXHjxuF0Onn++edZuXIl3bt356GHHuLOO++sNF9dfIYfqEWLFrz88ss8+uij/POf/6SgoICYmBiGDBni3xZ69+7NG2+8wZIlS1iwYAHFxcW0bNmSXr16cfnll9d6nXL8mIwj/UYQqQNvvfUWM2fOZNWqVSQkJAS6HBGpI6+99hopKSl8+OGHem+LNCHagygiIrW2bds2du/ezeOPP87pp5+ucCjSxCggiohIrc2bN48ffviBE044geTk5ECXIyJ1TIeYRURERKQS3eZGRERERCpRQBQRERGRSnQOYh3IySmut7Gjo23k5zvrbfzGQD1QD0A9qKA+qAegHkD99iA2NuLIMzVx2oPYwAUF1d2NWhsr9UA9APWggvqgHoB6AOpBfVNAFBEREZFKFBBFREREpBKdg1iPfD4vPp/vmMZwu914POV1VFHjpB407h6YzWbMZh0KEhFpTBQQ60lxcQEul/OI32175HH24fEcW8hs7NSDxt0Dk8lESIiNiIioQJciIiI1pIBYD3w+Ly6XE5PJhMlkOqax9u99qaPCGin1oPH3wOVyYrdHaE+iiEgj0Yh/5TRcPp/vmPccijQlhmEc8+kWIiJy/CggioiIiEglCohN2EUXXcBtt01m0qRbue++RbhcZbVa/rnnnmXixFt47rlna73u119/rdbLHI2srCwmTboVgN9++43ly5cddv6D67rzzun1VltVMjMzuO22ydx22xT27NlzXNddU7NmzeS3334DIDV1LiUlJQGtR0REjj8FxCbMarXy6KOPs3jxEwQFBfF///d/NVrO6/UCsGrVhzz22GKuu+76Wq/7jTder/UyVdVQG927d+emm8Yfdp6D67r//gdqvZ4jOVzta9eu5eSTT+HRRx+jbdu2xzxefUtJmUt4eHjA1i8iIoGhi1SaiV69epOevpOysjKWL1/G7t3peDxeLr/8cgYPHsLHH69mzZo1lJWV4fN5sdnslJWVMXXq7fz1r+Po168fTz31BDk5OQD84x830rNnL0pLS1m+fBnbt28DTFx22WX89ttvuN1ubrttMvHxHZk6dVqlWi69dBxnnHEmP/74A9HR0UybdieRkZHMmjWTzp278OuvvzJixAj69OnLs88+TVlZGRERLZgy5TZatmzJtm3bWLz4MQAGDDjBP+5PP/3E22+/RXLynBrXdeml43j11dcxDIPnn3+O77//DpPJxLhxlzJ8+HB++uknXnnlP0REtGD37nS6du3GHXdMPeTio5rUvmPHDt59dwVms5mNGzeycOE9fPbZp6xc+S4ej4fExETGj78Zi8XCpZeO46yzzmbjxh8ZP34C+/blsGLFiirnO//8MXz77Qas1hBmzZpFVFQ0BQX5PPnkk2Rl7QVgwoRb6NmzZ7Xrq86NN97AQw89TGlpGampc+nZsxdbtmwmJiaGu++eTUhICHv27GHZsqUUFRUSEhLCrbdOpEOH+GPeZkVEJHAUEJsBr9fL999/x4knnsjrr79Gv379mDx5CiUlJUyfPpX+/QcAsGPHdh57bDEREfu/g/LSS8fx6KOPA/DQQw8wduwF9OrVm5ycbObOncMTTzzFa6+9it1u5/HHlwBQUlLCySefwvvvv+df9mBlZWV069adf/zjRl555WVeeeVlxo+fAIDHU87DDz+Cx+Ph7rtnMmvWbGJiovn008956aUXmTx5Co8//hjjx4+nd+8+1R7+rm1da9Z8w86dO3n00ccpLi5i6tQ76N2795992cHixU/QsmVLZsy4k82bf6VXr96HjFFV7ZGRkXz55Zf+2s8++xxCQ0O56KKLycjI4KuvvmTRovsJCgpi6dIn+fzzzxk9ejRlZWUkJiZy/fU3kJGRwX//+1a18yUl9eCqq67m+eefY9WqVVxyyaUsX76cPn36cPfds/B6vZSVlR12fTXxxx9/MHXqdCZOnMT99y9izZpvOPXUUTz55BJuvvlW2rVrR1paGkuXLmXBgoU1GlNERBomBcTjIPpfL2Bfs+aoljWZoKoLoh1Dh5J/9TWHXbZibxns34N4+ulncNddd7J+/Trefvu//nkq9gr27z/AHw4PtnHjRjIyMvw/O51OSktL2bjxR6ZNu9M/vSaHI81mM8OHDwfg1FNHsWjRPf7Hhg3bP/33339n9+505sxJBvZfGR4dHU1JSQkORwm9e/cBYNSoUXz//XdV1Fu7uir2/FksFqKiounTpw+//fYbNpuN7t0TadWqFQCdO3chOzu7yoB4pNoPtmnTRrZt2860aXcA4HK5iYyM8vdo6NCTD5hvW5XzBQUFcdJJJwHQtWs3fvzxBwB++mkTt9++f36LxYLdbuezzz6tdn010bp1a7p06eJfV3Z2NqWlpWzZsoX771/kn6+8vHHe0FtERP6n2QbEmTNn8tlnnxETE8PKlSsrPfbss89y3333sWbNGlq2bBmgCo9dxTmIlRncdddMOnToUGnq1q1phIaGVjuWz+fj/vsfxGq11kOl/ztcGxKyvwbDMOjYsSP33/8gQUFm/02iA3HBRHDw/94mZrO52nMCq6r9cAzDYPTo0VxdRdC3Wq3+Q7+GYXDaaadx5ZVXHzJfUFCQ/3C32WzG56v+fMXDra8mgoOD/f83m8243W4Mw8But1e7t1hERBqnZnuRysUXX8zTTz99yPQ9e/bw9ddf065duzpbV/7V15D51NKj+rdn+fIqpx9p72F1TjjhRN57b6X/Po07dmyv4XInVArSO3bsAPbvdXz//ff80ysCnMViwePxVDmWz+fj66+/BuCLLz6nV69eh8zTvn17CguL2LJlCwAej4fdu9MJDw/Hbg/n119/AeDzzz+vch21rat37958+eWXeL1eCgsL+eWXX0hMTKymG4dXXe0H69evP9988zUFBQUAFBcXk52dXeV8X3995PkOXuaDD94H9p9i4HA4ary+2rDZbMTFtebrr78C9ofQnTt3HtOYIiISeM12D+JJJ51EZmbmIdPvvfdepk+fzi233BKAqurfJZdcyjPP/JMpUybh8/lo3bo1yclzjrjcjTfexNKlS5k8eRJer5fevXtzyy23cskll7Js2VImTboVs9nMZZddztChJ3PWWWczZcokunTpeshFKqGhofz221Zef/1VIiOjmD79zkPWFxwczF13zeCf/1xOaakTj8fD2LEX0LFjApMnT2Hx4scwmUyVLlI5+HnWpq4hQ4ayZcsWbrttMiaTiWuuuY7o6Ogqt5EjObB2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 style='width=auto;height:auto'><div>\n","type":"HTML"}],"taskStatus":"SUCCESS","forms":"[]","status":"SUCCESS"},"sizeX":0,"hideCode":false,"width":6,"hideResult":false,"dynamicFormParams":null,"row":0,"hasTitle":true,"hideVizConfig":false,"hideGutter":true,"relations":[],"forms":"[]"},{"col":0,"visualizationConfig":null,"hideInIFrame":false,"selectedVisualization":"html","title":"Using matplotlib, plot the residuals","message":["%python","","import numpy as np","import matplotlib.pyplot as plt","plt.style.use('seaborn')","plt.figure(figsize=[9,7])","plt.margins(0.05)","","x = np.matrix(RES_DF[['PREDICTION']].pull())","y = np.matrix(RES_DF[['YRS_RESIDENCE']].pull())","plt.plot(x, y-x, '.', c='black', alpha=0.8, ms=7)","","plt.plot( [np.min(x),np.max(x)],[0,0],"," c='red', alpha=0.8, ms=3,"," label='Perfect prediction (Zero residuals)')","","plt.legend(frameon=True, facecolor='lightgray',loc='upper left') ","plt.xlabel('PREDICTION')","plt.ylabel('RESIDUAL')","plt.title('Prediction of Years of Residence vs. Residuals', fontsize=16)","plt.grid(True)","plt.show()"],"enabled":true,"result":{"startTime":1704380970533,"interpreter":"python.low","endTime":1704380970749,"results":[{"message":"<div style='width:auto;height:auto'><img src=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAogAAAH4CAYAAADJgxzmAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/Il7ecAAAACXBIWXMAAAsTAAALEwEAmpwYAACepUlEQVR4nOzdd1hTZ/sH8G8GAcKeKgpRUHAh4gS3VqvW19lqbW0ddeDEVa1d2qrV1lUVnHXbX21rbbWO2tY9cdVZkSESoA4gDIGwkpzfH/HEBBKWQJKT+3Ndvd7XzCc3J+fcuZ/FYxiGASGEEEIIIS/wjd0AQgghhBBiWihBJIQQQgghOihBJIQQQgghOihBJIQQQgghOihBJIQQQgghOihBJIQQQgghOihBJIQQQgghOihBJIQQQgghOihBJIQQQgghOihBJIQQQgghOihBJIQQQgghOihBJIQQQgghOihBJIQQQgghOihBJIQQQgghOihBJIQQQgghOihBJIQQQgghOihBJIQQQgghOihBJIQQQgghOihBJIQQQgghOihBJIQQQgghOihBJIQQQgghOihBJIQQQgghOihBJIQQQgghOihBJIQQQgghOihBJIQQQgghOihBJIQQQgghOihBJIQQQgghOihBJIQQQgghOihBJIQQQgghOihBJIQQQgghOihBJIQQQgghOihBJIQQQgghOihBJIQQQgghOihBJIQQQgghOihBJIQQQgghOihBJIQQQgghOihBJIQQQgghOihBJIQQQgghOihBJIQQQgghOihBJIQQQgghOihBJIQQQgghOihBJDXm119/RUBAgOa/4OBgDBo0CN9//z0UCkWNvndKSgoCAgLw66+/am5bsGABevXqVanXuXLlCiIiIqBSqcp9fVOiUqnw1VdfoUuXLmjatCmmTp1a6jH3799HixYtsGbNGr2vMWbMGPTo0QO5ubk13dwaV5F4sHr16qVz3LZr1w7jxo3D9evXa6RtERERCAgIKPdxV65cQUBAAK5cuVIj7eCi999/v9Q5aOTIkTh58mSNvB97zktJSSnzcbVx/qjocUWIIUJjN4Bw37p161C3bl3k5ubi+PHjWLJkCWQyGWbOnFmr7Zg6dSpGjx5dqedcvXoVkZGRmDJlCvj8l7+nPD098dNPP8HHx6e6m1ktjh8/jj179mDBggVo3bo1nJ2d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 style='width=auto;height:auto'><div>\n","type":"HTML"}],"taskStatus":"SUCCESS","forms":"[]","status":"SUCCESS"},"sizeX":0,"hideCode":false,"width":6,"hideResult":false,"dynamicFormParams":null,"row":0,"hasTitle":true,"hideVizConfig":false,"hideGutter":true,"relations":[],"forms":"[]"},{"col":0,"visualizationConfig":null,"hideInIFrame":false,"selectedVisualization":"table","title":"Display prediction details in python","message":["%python","","","RES_DF = glm_mod.predict(TEST, supplemental_cols = TEST[['CUST_ID']], proba = True, topN_attrs = True)","","z.show(RES_DF.head())"],"enabled":true,"result":{"startTime":1704380970872,"interpreter":"python.low","endTime":1704380979602,"results":[{"message":"CUST_ID\tPREDICTION\tNAME_1\tVALUE_1\tWEIGHT_1\tNAME_2\tVALUE_2\tWEIGHT_2\tNAME_3\tVALUE_3\tWEIGHT_3\tNAME_4\tVALUE_4\tWEIGHT_4\tNAME_5\tVALUE_5\tWEIGHT_5\n100100\t4.472758165280582\tCUST_YEAR_OF_BIRTH\t1959\t.201\tEDUCATION\tMasters\t.155\tAFFINITY_CARD\t1\t.12\tY_BOX_GAMES\t0\t.067\tCUST_CREDIT_LIMIT\t10000\t.015\n100200\t1.5283330601173908\tCUST_CREDIT_LIMIT\t9000\t.006\tCUST_INCOME_LEVEL\tL: 300,000 and above\t-.001\tCUST_MARITAL_STATUS\tNeverM\t-.005\tAFFINITY_CARD\t0\t-.03\tEDUCATION\t< Bach.\t-.075\n100300\t5.060057240486081\tCUST_YEAR_OF_BIRTH\t1961\t.25\tAFFINITY_CARD\t1\t.231\tCUST_INCOME_LEVEL\tG: 130,000 - 149,999\t.147\tY_BOX_GAMES\t0\t.129\tEDUCATION\tBach.\t.089\n100400\t6.096717138233105\tCUST_YEAR_OF_BIRTH\t1944\t.503\tOCCUPATION\tTransp.\t.095\tCUST_MARITAL_STATUS\tDivorc.\t.081\tCUST_INCOME_LEVEL\tC: 50,000 - 69,999\t.07\tY_BOX_GAMES\t0\t.046\n100900\t4.83448125559028\tCUST_YEAR_OF_BIRTH\t1959\t.376\tOCCUPATION\tExec.\t.265\tY_BOX_GAMES\t0\t.126\tCUST_INCOME_LEVEL\tF: 110,000 - 129,999\t-.072\tAFFINITY_CARD\t0\t-.072\n","type":"TABLE"}],"taskStatus":"SUCCESS","forms":"[]","status":"SUCCESS"},"sizeX":0,"hideCode":false,"width":12,"hideResult":false,"dynamicFormParams":null,"row":0,"hasTitle":true,"hideVizConfig":false,"hideGutter":true,"relations":[],"forms":"[]"},{"col":0,"visualizationConfig":null,"hideInIFrame":false,"selectedVisualization":"html","title":"Materialize GLM_TEST_DATA for use in query below","message":["%python","","try:"," oml.drop(table = 'GLM_TEST_DATA')","except:"," pass","_ = TEST.materialize(table = 'GLM_TEST_DATA')"],"enabled":true,"result":{"startTime":1704380979723,"interpreter":"python.low","endTime":1704380980079,"results":[],"taskStatus":"SUCCESS","forms":"[]","status":"SUCCESS"},"sizeX":0,"hideCode":false,"width":12,"hideResult":false,"dynamicFormParams":null,"row":0,"hasTitle":true,"hideVizConfig":false,"hideGutter":true,"relations":[],"forms":"[]"},{"col":0,"visualizationConfig":null,"hideInIFrame":false,"selectedVisualization":"table","title":"Display predictions with explanatory prediction details in SQL","message":["%sql","","SELECT CUST_ID,"," round(PREDICTION_YRS_RES,3) PRED_YRS_RES,"," round(PRED_LOWER_LIMIT,1) LOWER_BOUND,"," round(PRED_UPPER_LIMIT,1) UPPER_BOUND,"," RTRIM(TRIM(SUBSTR(OUTPRED.\"Attribute1\",17,100)),'rank=\"1\"/>') FIRST_ATTRIBUTE,"," RTRIM(TRIM(SUBSTR(OUTPRED.\"Attribute2\",17,100)),'rank=\"2\"/>') SECOND_ATTRIBUTE,"," RTRIM(TRIM(SUBSTR(OUTPRED.\"Attribute3\",17,100)),'rank=\"3\"/>') THIRD_ATTRIBUTE","FROM (SELECT CUST_ID,"," PREDICTION(GLM_REGRESSION_MODEL USING *) PREDICTION_YRS_RES,"," PREDICTION_BOUNDS(GLM_REGRESSION_MODEL USING *).LOWER PRED_LOWER_LIMIT,"," PREDICTION_BOUNDS(GLM_REGRESSION_MODEL USING *).UPPER PRED_UPPER_LIMIT,"," PREDICTION_DETAILS(GLM_REGRESSION_MODEL USING *) PD"," FROM GLM_TEST_DATA"," WHERE CUST_ID < 100015"," ORDER BY CUST_ID) OUT,"," XMLTABLE('/Details'"," PASSING OUT.PD"," COLUMNS "," \"Attribute1\" XMLType PATH 'Attribute[1]',"," \"Attribute2\" XMLType PATH 'Attribute[2]',"," \"Attribute3\" XMLType PATH 'Attribute[3]') OUTPRED"],"enabled":true,"result":{"startTime":1704380980198,"interpreter":"sql.low","endTime":1704380980459,"results":[{"message":"CUST_ID\tPRED_YRS_RES\tLOWER_BOUND\tUPPER_BOUND\tFIRST_ATTRIBUTE\tSECOND_ATTRIBUTE\tTHIRD_ATTRIBUTE\n100002\t4.186\t3.9\t4.4\t\"CUST_YEAR_OF_BIRTH\" actualValue=\"1962\" weight=\".219\" \t\"Y_BOX_GAMES\" actualValue=\"0\" weight=\".155\" \t\"EDUCATION\" actualValue=\"Bach.\" weight=\".107\" \n100003\t3.619\t3.4\t3.9\t\"Y_BOX_GAMES\" actualValue=\"0\" weight=\".157\" \t\"CUST_INCOME_LEVEL\" actualValue=\"K: 250,000 - 299,999\" weight=\".013\" \t\"CUST_MARITAL_STATUS\" actualValue=\"NeverM\" weight=\"-.015\" \n100005\t5.419\t5.1\t5.8\t\"CUST_YEAR_OF_BIRTH\" actualValue=\"1957\" weight=\".392\" \t\"AFFINITY_CARD\" actualValue=\"1\" weight=\".174\" \t\"EDUCATION\" actualValue=\"Assoc-A\" weight=\".143\" \n100009\t3.499\t3.2\t3.8\t\"AFFINITY_CARD\" actualValue=\"1\" weight=\".146\" \t\"CUST_INCOME_LEVEL\" actualValue=\"G: 130,000 - 149,999\" weight=\".093\" \t\"EDUCATION\" actualValue=\"Bach.\" weight=\".056\" \n100010\t3.006\t2.8\t3.2\t\"CUST_CREDIT_LIMIT\" actualValue=\"9000\" weight=\".013\" \t\"CUST_INCOME_LEVEL\" actualValue=\"L: 300,000 and above\" weight=\"-.003\" \t\"OCCUPATION\" actualValue=\"Crafts\" weight=\"-.034\" \n100012\t5.414\t4.9\t5.9\t\"EDUCATION\" actualValue=\"PhD\" weight=\".395\" \t\"CUST_INCOME_LEVEL\" actualValue=\"H: 150,000 - 169,999\" weight=\".146\" \t\"AFFINITY_CARD\" actualValue=\"1\" weight=\".131\" \n100014\t5.247\t5\t5.5\t\"CUST_YEAR_OF_BIRTH\" actualValue=\"1954\" weight=\".449\" \t\"CUST_MARITAL_STATUS\" actualValue=\"Divorc.\" weight=\".141\" \t\"Y_BOX_GAMES\" actualValue=\"0\" weight=\".08\" \n","type":"TABLE"}],"taskStatus":"SUCCESS","forms":"[]","status":"SUCCESS"},"sizeX":0,"hideCode":false,"width":12,"hideResult":false,"dynamicFormParams":null,"row":0,"hasTitle":true,"hideVizConfig":false,"hideGutter":true,"relations":[],"forms":"[]"},{"col":0,"visualizationConfig":null,"hideInIFrame":false,"selectedVisualization":"html","title":null,"message":["%md","# End of Script"],"enabled":true,"result":{"startTime":1704380980584,"interpreter":"md.low","endTime":1704380980681,"results":[{"message":"<h1 id=\"end-of-script\">End of Script<\/h1>\n","type":"HTML"}],"taskStatus":"SUCCESS","forms":"[]","status":"SUCCESS"},"sizeX":0,"hideCode":true,"width":12,"hideResult":false,"dynamicFormParams":null,"row":0,"hasTitle":false,"hideVizConfig":true,"hideGutter":true,"relations":[],"forms":"[]"},{"col":0,"visualizationConfig":null,"hideInIFrame":false,"selectedVisualization":"html","title":null,"message":["%md"],"enabled":true,"result":{"startTime":1704380980822,"interpreter":"md.low","endTime":1704380980918,"results":[],"taskStatus":"SUCCESS","forms":"[]","status":"SUCCESS"},"sizeX":0,"hideCode":true,"width":12,"hideResult":true,"dynamicFormParams":null,"row":0,"hasTitle":false,"hideVizConfig":true,"hideGutter":true,"relations":[],"forms":"[]"}],"version":"6","snapshot":false,"tags":null}]